您好在this链接中找到了以下解释:
使用训练集(默认)。生成聚类Weka后
根据
将训练实例分类为聚类
群集表示并计算实例的百分比
落在每个集群中。
在提供的测试集中或百分比拆分中,Weka可以评估
如果聚类表示为,则在单独的测试数据上聚类
概率性的(例如对于EM)。
聚类评估的类。在这种模式下,Weka首先会忽略
class属性并生成聚类。然后在
在测试阶段,它根据
每个群集中class属性的多数值。然后
它基于此分配计算分类误差
并且还显示了相应的混淆矩阵。一个例子
下面显示了k均值的这一点。
但是,我不清楚WEKA如何在集群中对新实例进行分类,以及如何衡量该实例是否应在该集群中进行分类。还是仅在每个集群中简化测试实例的分布,而不判断分配是否正确?
答案 0 :(得分:0)
集群分配的概念取决于特定的集群算法。让我们考虑最简单的情况:用k均值进行硬聚类。在这种情况下,分配是基于距所讨论点最近的聚类质心进行的。
对于新的测试实例,这些选项表示以下含义:
由于群集通常是在无监督的情况下执行的,因此默认选项意味着在群集算法完成后,Weka将生成一个列表,其中列出了为每个群集分配了多少个实例(也以百分比表示)。在这种情况下,没有提供新的测试实例,而是使用训练集中的相同实例来计算聚类的最终结果
该选项允许用户通过向训练实例提供类标签来真正测试聚类的结果(这意味着带有标签的数据集应该可用)。在这种模式下,Weka首先运行无监督的聚类算法,而不考虑类标签,然后基于每个类中某个类的大多数实例,计算有多少具有特定标签的实例被聚类到每个类。如标准监督分类任务中一样,它还会生成混淆矩阵。但是,由于评估是基于同一训练集中提供的班级标签进行的,因此没有使用单独的测试集,因此也没有新的测试实例。
通过选择此选项,用户可以提供单独的测试集(或仅将可用数据集拆分为训练集和测试集)。在这种情况下,Weka首先在训练集上运行聚类算法,然后使用测试集将集群分配给新的测试实例。最后生成的结果与默认选项(使用训练集)相同,但仅基于从测试集中获取的实例进行计算。
希望这会有所帮助!