Weka - 聚类

聚类算法在整个数据集中查找相似实例组。WEKA 支持多种聚类算法,例如 EM、FilteredClusterer、HierarchicalClusterer、SimpleKMeans 等。您应该完全理解这些算法,以充分利用 WEKA 功能。

与分类的情况一样,WEKA 允许您以图形方式可视化检测到的聚类。为了演示聚类,我们将使用提供的鸢尾花数据库。数据集包含三个类,每个类有 50 个实例。每个类都代表一种鸢尾花植物。

加载数据

在 WEKA 资源管理器中选择 预处理 选项卡。单击 打开文件 ... 选项,然后在文件选择对话框中选择 iris.arff 文件。加载数据后,屏幕如下所示 −

Screen Looks

您可以观察到有 150 个实例和 5 个属性。属性名称列为 sepallengthsepalwidthpetallengthpetalwidthclass。前四个属性是数字类型,而类是具有 3 个不同值的名义类型。检查每个属性以了解数据库的功能。我们不会对此数据进行任何预处理,而是直接进行模型构建。

聚类

单击 Cluster 选项卡将聚类算法应用于我们加载的数据。单击 Choose 按钮。您将看到以下屏幕 −

Cluster Tab

现在,选择 EM 作为聚类算法。在 Cluster mode 子窗口中,选择 Classes to clusters evaluation 选项,如下面的屏幕截图所示 −

Clustering Algorithm

单击 Start 按钮以处理数据。过一会儿,结果就会显示在屏幕上。

接下来,让我们研究一下结果。

检查输出

数据处理的输出显示在下面的屏幕中 −

检查输出

从输出屏幕中,您可以观察到 −

  • 数据库中检测到了 5 个聚类实例。

  • Cluster 0 代表 setosa,Cluster 1 代表 virginica,Cluster 2 代表 versicolor,而最后两个聚类没有任何与之关联的类。

如果向上滚动输出窗口,您还将看到一些统计数据,它们给出了平均值和检测到的各个聚类中每个属性的标准偏差。如下面的屏幕截图所示 −

Detected Clusters

接下来,我们将查看聚类的视觉表示。

可视化集群

要可视化集群,请在结果列表中右键单击EM结果。您将看到以下选项 −

集群结果列表

选择可视化集群分配。您将看到以下输出 −

集群分配

与分类的情况一样,您会注意到正确识别和错误识别的实例之间的区别。您可以通过更改 X 轴和 Y 轴来分析结果。您可以像分类的情况一样使用抖动来找出正确识别的实例的集中度。可视化图中的操作与您在分类案例中研究的操作类似。

应用层次聚类器

为了展示 WEKA 的强大功能,现在让我们研究另一种聚类算法的应用。在 WEKA 资源管理器中,选择 HierarchicalClusterer 作为您的 ML 算法,如下面的屏幕截图所示 −

Hierarchical Clusterer

选择 Cluster mode 选项为 Classes to cluster evaluation,然后单击 Start 按钮。您将看到以下输出 −

Cluster Evaluation

请注意,在 Result list 中,列出了两个结果:第一个是 EM 结果,第二个是当前 Hierarchical。同样,您可以将多个 ML 算法应用于同一数据集并快速比较它们的结果。

如果您检查此算法生成的树,您将看到以下输出 −

Examine Algorithm

在下一章中,您将学习 Associate 类型的 ML 算法。