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 频率/幅度的良好聚类/分类算法是啥?

RapidMiner 和 WEKA:不同的聚类结果

用于预测发电量的聚类、分类和回归管道

python birch的聚类结果怎么输出 看某一个具体是啥分类

混合数据类型中的聚类

基于最大最小距离的分类数目上限K确定的聚类方法