【发布时间】:2016-06-04 00:29:21
【问题描述】:
我在使用 Weka 的 XMeans 集群时遇到了一些问题。我已经和其他几个人谈过,我们都同意下面的屏幕截图中有六个集群,或者如果你真的眯着眼睛,至少至少有两个。无论哪种方式,xMeans 似乎都不同意。
XMeans 似乎系统地低估了集群的数量,基于我设置的最小集群计数。最大集群数为 100,这是我得到的结果:
-L 1 // 1 cluster
-L 2 // 2 clusters
-L 3 // 3 clusters
-L 4 // 5 clusters
-L 5 // 6 clusters
-L 6 // 6 clusters
最令人震惊的是,-L 1(和-H 100)只能找到一个集群。只有将最小集群数设为五个,我才能真正看到六个集群。将改进结构参数提高到 100,000 似乎没有任何效果。 (我也玩过其他选项,没有发现任何区别。)以下是生成上述屏幕截图的选项,它找到了一个中心:
private static final String[] XMEANS_OPTIONS = {
"-H", "100", // max number of clusters (default 4)
"-L", "1", // min number of clusters (default 2)
"-I", "100", // max overall iterations (default 1)
"-M", "1000000", // max improve-structure iterations (default 1000)
"-J", "1000000", // max improve-parameter iterations (default 1000)
};
显然我在这里遗漏了一些东西。如何使 XMeans 的行为符合预期?
【问题讨论】:
-
在 ELKI 中尝试 X-means。它工作得更好吗?那么可能有一个错误......但根据我的经验,x-means 确实经常得到错误的集群数量,即使在像这样的简单合成数据上也是如此
-
你能分享数据吗,例如,在投递箱上?我假设出了什么问题。
-
@CAFEBABE - 数据为here,以空格分隔的格式。很想听听你的想法。
标签: cluster-analysis weka k-means xmeans