我正在尝试使用simpleKmeans在weka中聚集文本数据(在论坛+用户中发布内容)817个实例。由于某种原因,聚类是这样的:
Clustered Instances
0 812 ( 99%)
1 1 ( 0%)
2 1 ( 0%)
3 1 ( 0%)
4 1 ( 0%)
5 1 ( 0%)
有人可以向我解释为什么我没有均匀地获得聚类吗?
答案 0 :(得分:2)
K-means不保证甚至是集群。 (有a tutorial on how to modify k-means to produce even-sized clusters;但这不会解决你的问题。)
k-means对异常值非常敏感。在存在异常值的情况下,看到仅由单个点组成的“离群点集群”是相当常见的。这可能就是你所观察到的。
但更重要的是,k-means对于高维离散数据也不能很好地工作......而你的文本数据很可能就是:高维和离散值。问题是在这些数据上,每个点或多或少都是唯一的。即异常值。没有两个表格帖子(垃圾邮件除外)是相同的。更糟糕的是:就平方欧氏距离(这是k-means的最佳距离)而言,它们或多或少都有相同的相似方式。
您正在使用k-means进行设计的方案。所以它不能很好地运行并不奇怪。它用于量化低维连续数据;不是用于从文本中提取有意义的组。