Weka分类前的聚类
Posted
技术标签:
【中文标题】Weka分类前的聚类【英文标题】:Clustering before classification in Weka 【发布时间】:2015-01-04 09:09:44 【问题描述】:我的数据集中的实例具有多个数字属性和一个二进制类。在 Weka 中有没有办法使用聚类器并将结果传递给分类器(比如 SMO)以改进分类结果?
【问题讨论】:
【参考方案1】:您可以将集群信息添加到数据中的一种方法是使用以下方法(在 Weka Explorer 中):
-
加载您喜欢的数据集
选择您的集群模型(在我的例子中,我使用了 SimpleKMeans)
根据需要修改集群参数
将训练集用于集群模式
启动集群进程
生成集群后,右键单击结果列表并选择“可视化集群分配”
选择 Y 作为集群,然后点击保存按钮,如下所示:
-
将数据保存到指定位置。
然后您应该能够加载此文件并在分类器中使用集群信息,就像任何其他属性一样。只需确保将 Class 设置为正确的属性,您就应该正确。
注意:当我运行这些测试时,我使用 J48 来评估类,而 J48 似乎只使用集群的值来估计类。模型的准确率也出奇的高,所以要么数据集太简单,要么我可能错过了聚类过程中的某个步骤。
希望对您有所帮助!
【讨论】:
【参考方案2】:在 Weka Explorer 中,加载数据集后
选择预处理选项卡, 点击“选择...”按钮, 添加无监督属性过滤器“AddCluster”。 点击旁边的按钮,打开聚类器选择字段,选择一个聚类器, 配置/参数化集群器 关闭所有模式对话框点击“应用”按钮应用过滤器。它将添加另一个名为“cluster”的属性作为属性列表中最右边的属性。
然后继续你的分类实验。
【讨论】:
AddCluster 过滤器选项灰显,无法应用。这可能是什么原因? 我不知道,这取决于您的数据。也许尝试使用不同的数据集,例如使用 Weka 附带的内置数据集之一?只是为了确保它完全有效。 不幸的是,我必须使用该数据集。无论如何感谢您的回答。以上是关于Weka分类前的聚类的主要内容,如果未能解决你的问题,请参考以下文章
WEKA 上针对 ECG 频率/幅度的良好聚类/分类算法是啥?