首页 > 解决方案 > Weka ClusterMembership 过滤器只给出 1 和 0 的概率

问题描述

最近,我与 Weka 合作,使用内置的 EM 聚类器将数据聚类到组中。然而,虽然集群本身工作正常,但当我保存输出文件时,我注意到在集群中的“概率”都是 0 和 1。这让我产生了怀疑,因为 Weka 似乎不太可能以 100% 的置信度区分集群。所以,然后我所做的是我生成的数据基本上是随机的和“不可聚类的”,如果你愿意的话,在重新聚类后,我再次发现,输出概率都是 1 和 0。

更进一步,为了确保聚类器没有对我完全忽略的某些特征进行聚类,我制作了一个单独的实用程序来生成随机数据的 TSNE 图,果然,它看起来是随机的,并且 EM 聚类器生成的聚类真的没有意义,随机数据应该是这样。

那么我的问题是:为什么 Weka 的 ClusterMembership 功能即使对于完全随机的数据也只产生 1 和 0 来表示在集群中的概率?我错过了一些非常明显的东西还是有更深层次的问题?

是 ClusterMembership 文档,是我可以在 SO 上找到的最接近的相关问题,但它似乎与我想要的相去甚远。欢迎对此提出任何建议/想法,因为我能想到为什么会发生这种情况的唯一原因是我的数据结构方式存在根本性错误(这似乎不太可能,因为我在其他学习中使用过这些数据高度成功的问题),或者 Weka 的集群本身并不是那么好,从我之前的问题来看,这似乎是一个合理的原因,尽管我希望情况并非如此。

更新:我设法用以下极简主义 .arff 文件复制了这个问题:

@relation 'Test'

@attribute x numeric
@attribute y numeric

@data 
{0 1}
{1 1}
{}
{0 1,1 1}

使用 ClusterMembership 过滤器(2 个集群)运行它,我再次得到概率都是 1 或 0。请注意,这显然没有意义,因为有多种方法可以将这些数据分为 2 组,因此将集群的概率设为 1 是不现实的。另外,我应该补充一点,我使用的是 Weka 3.8.1。

标签: cluster-analysiswekaprobabilityarff

解决方案


推荐阅读