Iva*_*van 3 python cluster-analysis k-means data-science feature-engineering
我有一组包含 50 个特征(c1、c2、c3 ...)的数据,行数超过 80k。
每行包含标准化数值(范围 0-1)。它实际上是一个标准化的虚拟变量,其中一些行只有很少的特征,3-4(即如果没有值则分配0)。大多数行大约有 10-20 个特征。
我使用 KMeans 对数据进行聚类,结果总是产生一个包含大量成员的集群。经过分析,我注意到少于 4 个特征的行往往会聚集在一起,这不是我想要的。
有没有办法平衡集群?
生成平衡集群不是 k 均值目标的一部分。事实上,具有平衡集群的解决方案可能非常糟糕(只需考虑具有重复项的数据集)。K 均值最小化平方和,将这些对象放入一个簇中似乎是有益的。
您看到的是在稀疏、非连续数据上使用 k 均值的典型效果。编码分类变量、二元变量和稀疏数据不太适合 k-means 使用means。此外,您可能还需要仔细权衡变量。
现在,一个可能会改善您的结果(至少是感知质量,因为我认为这不会使它们在统计上更好)的修补程序是将每个向量标准化为单位长度(欧几里德范数1)。这将强调具有很少非零条目的行。您可能会更喜欢这些结果,但它们更难解释。
| 归档时间: |
|
| 查看次数: |
5930 次 |
| 最近记录: |