K均值算法

Nav*_*vin 2 cluster-analysis machine-learning data-mining k-means

可能的重复:
如何在 K 均值算法中优化 K
使用 k 均值聚类时如何确定 k?

根据统计指标,我们可以决定 K。如标准差、均值、方差等,或者

有没有简单的方法来选择K-means算法中的K?

预先感谢纳文

小智 5

如果您明确想要使用 k-means,您可以研究描述x-means的文章。当使用 x-means 的实现时,与 k-means 相比的唯一区别是,您不是指定单个 k,而是指定 k 的范围。“最好”的选择,wrt。该范围内的某些度量将成为 x 均值输出的一部分。您还可以研究 Mean Shift聚类算法。

如果您的给定数据在计算上是可行的(可能按照 yura 建议使用采样),您可以使用各种 k 进行聚类,并使用一些标准聚类有效性度量来评估结果聚类的质量。这里描述了一些经典的措施:measures

@doug k-means++ 在聚类分配开始之前确定聚类数量的最佳 k 是不正确的。k-means++ 与 k-means 的不同之处仅在于它不是随机选择初始 k 个质心,而是随机选择一个初始质心并连续选择中心,直到选择了 k。在初始完全随机选择之后,数据点被选择作为新的质心,其概率由势函数确定,该势函数取决于数据点到已选择的中心的距离。k-means++ 的标准参考是k-means++: Arthur 和 Vassivitskii 的《仔细播种的优点》 。

另外,我认为一般选择 k 作为主成分的数量不会改善您的聚类。想象一下三维空间中的数据点都位于穿过原点的平面上。然后,您将获得 2 个主成分,但点的“自然”聚类可以具有任意数量的聚类。