我有一组包含 50 个特征(c1、c2、c3 ...)的数据,行数超过 80k。
每行包含标准化数值(范围 0-1)。它实际上是一个标准化的虚拟变量,其中一些行只有很少的特征,3-4(即如果没有值则分配 0)。大多数行大约有 10-20 个特征。
我使用 KMeans 对数据进行聚类,结果总是产生一个包含大量成员的集群。经过分析,我注意到少于 4 个特征的行往往会聚集在一起,这不是我想要的。
有没有办法平衡集群?
它不是 k 均值的一部分客观的产生平衡的簇。实际上,具有平衡簇的解决方案可能很糟糕(仅考虑具有重复项的数据集)。 K 均值最小化平方和,将这些对象放入一个簇中似乎是有益的。
您看到的是对稀疏、非连续数据使用 k 均值的典型效果。编码分类变量、二元变量和稀疏数据不太适合 k 均值使用means。此外,您可能还需要仔细权衡变量。
现在有一个修补程序可能会改善您的结果(至少感知到的质量,因为我认为这不会让他们统计上更好)的方法是将每个向量标准化为单位长度(欧几里得范数 1)。这将强调具有很少非零条目的行。您可能会更喜欢这些结果,但它们更难解释。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)