我有一组数据,有50个特性(c1、c2、c3 .),行数超过80k。
每一行都包含标准化的数值(范围为0-1)。它实际上是一个标准化的虚拟变量,其中一些行只有很少的特性,3-4 (也就是说,如果没有值,则赋值为0)。大多数行都有大约10-20个特性。
我使用KMeans对数据进行聚类,总是会产生一个拥有大量成员的集群。经过分析,我注意到少于4个特性的行往往聚集在一起,这不是我想要的。
是否有平衡的集群?
发布于 2018-09-10 13:15:36
形成均衡的集群并不是k手段目标的一部分.事实上,具有平衡集群的解决方案可能是任意糟糕的(只需考虑具有重复项的数据集)。K-表示使平方和最小化,并且将这些对象放在一个集群中似乎是有益的。
你看到的是使用k均值对稀疏的、不连续的数据的典型影响。编码的分类变量、二进制变量和稀疏数据不太适合于均值的k-均值。此外,您可能也需要仔细地对变量进行加权。
现在,一个可能会改善您的结果(至少是感知到的质量,因为我不认为它会使它们在统计上更好)的修复方法是将每个向量规范化为单位长度(欧几里得范数1)。这将强调非零条目很少的行。您可能更喜欢这些结果,但它们更难以解释。
https://stackoverflow.com/questions/52253787
复制相似问题