本文目的
weka是一套使用java开发的数据挖掘工具集合,提供GUI/CLI界面和Java API使用方式。所以,在学习和解决数据挖掘问题时,可以先尝试用weka的GUI或CLI做出合适的分析,找到适当的算法,然后在将此算法集成到自己的项目中。最近在的项目中遇到了文本聚类的问题,kmeans是一种常见的聚类算法,这里先拿此算法和示例数据做一些实验,以便熟悉weka的界面操作。
什么是kmeans
数据集
weka定义了自己的数据集文件格式,以.arrf结尾,整体感觉就是一张表格,主要分为四个部分(如下图):
<a href="http://images.cnblogs.com/cnblogs_com/bourneli/201210/20121015211147329.png"></a>
注释,comment
数据集名称,relation
属性,attribute,相当于列
数据,每行是一个实例,每一行中的每个字段用逗号隔开,字符串在引号中间,也可以是数字或枚举
获取并安装weka
执行Kmeans聚类操作
双击小图标,弹出如下对话框,
<a href="http://images.cnblogs.com/cnblogs_com/bourneli/201210/201210152111481800.png"></a>
选择“Explorer”,如果以后高级用户,可以选择最后的“Simple CLI”,直接命令行操作。
弹出如下对话框
<a href="http://images.cnblogs.com/cnblogs_com/bourneli/201210/201210152111492573.png"></a>
<a href="http://images.cnblogs.com/cnblogs_com/bourneli/201210/201210152111529734.png"></a>
现在,选取最上面的第三个tab“Cluster”,进入聚类分析主界面
<a href="http://images.cnblogs.com/cnblogs_com/bourneli/201210/201210152111542568.png"></a>
点击“Choose”按钮,选择聚类算法。这里先选择了SimpleKMeans,单机“Choose”旁边的输入框,可以设置算法参数
<a href="http://images.cnblogs.com/cnblogs_com/bourneli/201210/201210152111553582.png"></a>
这里需要将”numClusters”修改为一个合适的值,其他保留默认即可。
记下来,点击开始,weka就开会帮你算出结果,结果会以文件的方式存储在Result List中,方便后面分析。右边是计算结果。
结果可视化
<a href="http://images.cnblogs.com/cnblogs_com/bourneli/201210/201210152111565369.png"></a>
Explorer主界面最上面最后一个tab是数据结果可视化,目前只能支持2纬可视化,所以个人觉得比较鸡肋,因为一般数据纬度都为大于2纬。
具体如何使用可视化,可以参见最后的链接。
以上就是利用weka进行kmeans聚类操作的过程。
参考资料
<a href="http://maya.cs.depaul.edu/classes/ect584/weka/k-means.html">http://maya.cs.depaul.edu/classes/ect584/weka/k-means.html</a>
<b>声明:如有转载本博文章,请注明出处。您的支持是我的动力!文章部分内容来自互联网,本人不负任何法律责任。</b>
本文转自bourneli博客园博客,原文链接:http://www.cnblogs.com/bourneli/archive/2012/10/15/2725019.html,如需转载请自行联系原作者