Advertisement

Python k-means

阅读量:

K-Means

(理论部分略)

步骤:

  1. 选定k个样本作为初始聚类中心,并将它们标记为集合C = {C₁, C₂, ..., C_k}。
  2. 对于数据集中的每一个样本xᵢ:
    a. 计算其与所有k个聚类中心之间的距离;
    b. 将其归入距离最小的那个聚类中心对应的类别。
  3. 对于每一个类别集合Cⱼ:
    a. 计算该子类别中所有样本的质心位置;
    b. 更新该子类别的质心坐标为\frac{1}{|cⱼ|}\sum_{x∈cⱼ} x
  4. 反复进行上述步骤直至满足收敛条件。

K值选取的方式

Elbow Method:通过评估所有样本的聚类误差来计算平方误差总和 SSE。其中 SSE 表示平方误差总和...

c_i表示第i个簇,在该簇中的核心样本点为p;质心m_i则是该簇的质量中心点;当k值增大时,在同一数据集上进行聚类分析;各簇内部的数据点趋向于更加紧密地聚集在一起;相应地导致SSE逐步减小;如图所示。

请添加图片描述

因此,可以按以下规律选择k值:

  • 当实际的聚类数目被低估时, 随着估计值k的增加, Su

全部评论 (0)

还没有任何评论哟~