K-Means聚类
使用K-Means算法将数据分为K个聚类. 通过最小化簇内平方和(WCSS)将数据点分为K个聚类。使用彩色散点图和质心标记可视化聚类结果。. K-Means是通过最小化簇内平方和(WCSS)将n个数据点划分为K个聚类的迭代分区算法。每个聚类由其质心表示。
通过最小化簇内平方和(WCSS)将数据点分为K个聚类。使用彩色散点图和质心标记可视化聚类结果。
什么是K-Means聚类?
K-Means是通过最小化簇内平方和(WCSS)将n个数据点划分为K个聚类的迭代分区算法。每个聚类由其质心表示。
算法从K个初始质心开始,交替执行两步:(1)将每个点分配到最近质心,(2)重新计算质心。通常10-50次迭代收敛。
选择K是关键。肘部法绘制WCSS vs K,寻找增加聚类收益递减的'弯曲'。轮廓系数接近+1表示良好的聚类。
Formula: WCSS = Σₖ Σ(xᵢ ∈ Cₖ) ‖xᵢ − μₖ‖² 其中 μₖ = 簇 Cₖ 的质心 ‖·‖ = 欧氏距离 当分配不再变化时算法收敛
计算示例
点:(1,1), (1.5,2), (3,4), (5,7), (3.5,5), (4.5,5), (3.5,4.5)。K=2,质心μ₁≈(1.25, 1.5),μ₂≈(3.9, 5.1)。WCSS = 8.525。
何时使用此计算器
- 市场分析师基于购买行为、人口统计特征或参与度指标对客户进行分群
- 质量工程师对测量数据分组,以识别生产数据中的不同总体或失效模式
- 研究人员进行无监督分类,在多维数据集中发现自然分组
- 数据科学家在应用监督学习之前,通过探索性分析判断数据是否包含有意义的簇
常见错误
- 聚类前未对特征标准化——若一个变量范围为 0-1000 而另一个为 0-1,K-Means 会被尺度更大的变量主导;务必标准化为零均值、单位方差
- 凭直觉选择 K 而不使用肘部法则或轮廓系数——随意的 K 会产生毫无意义的簇;应用定量准则为选择提供依据
- 只运行一次 K-Means——随机初始化可能使每次运行结果不同;应使用不同种子运行多次(10-20 次)并选取 WCSS 最优的结果
- 将 K-Means 用于非球形或相互重叠的簇——K-Means 假定簇为凸形且大小相近;对不规则簇形应使用 DBSCAN 或高斯混合模型
如何解读结果
- WCSS 越低表示簇越紧凑,但 WCSS 随 K 增大总会下降——应用肘部法则找出再增加簇也不再带来显著改善的 K 值
- 簇的规模应对你的应用有实际意义——仅含 1-2 个点的簇可能是离群点群而非真正的簇
- 查看质心坐标以理解每个簇代表什么——质心是平均成员,定义了该簇的特征
相关标准与参考文献
- MacQueen, J. (1967), 'Some Methods for Classification and Analysis of Multivariate Observations', Proc. 5th Berkeley Symposium — 'k-means'一词的起源
- Lloyd, S. (1957, 1982年发表), 'Least Squares Quantization in PCM', IEEE Transactions on Information Theory — 标准的分配-更新迭代过程
- Jain, A. K. (2010), 'Data Clustering: 50 Years Beyond K-Means', Pattern Recognition Letters — 关于k-means实践、初始化与K值选择的综述论文
常见问题
如何选择正确的聚类数(K)?
肘部法:绘制K=1~10的WCSS,选择曲线急弯处的K。也可选择轮廓系数最高的K。
K-Means的局限性?
假设球形聚类,对异常值敏感。无法检测非凸聚类。此时考虑DBSCAN或高斯混合模型。