K-means聚类算法

算法核心逻辑是:
A、指定需要把人群划分为x个类
B、算法自动把相似的人划分到对应的类中
C、得到x个类的人,每个类的人行为相似

算法实例

根据2006年、2010年世界杯,2007亚洲杯中各个国家的比赛成绩,来把亚洲的国家足球实力划分成三个类别。

初始数据如下图,分别展示了2006年、2010年世界杯,2007亚洲杯中亚洲各个国家队的成绩


K-means聚类算法_第1张图片

1、先随机抽取三个簇心,分别为
簇心A(日本)0.3 0 0.19
簇心B(巴林)0.7 0.76 0.5
簇心C(泰国)1 1 0.5

2、分别计算各个国家距离簇心A、B、C的欧几里得距离


计算结果为:


K-means聚类算法_第2张图片

3、第一次聚类结果
簇心A(日本): 日本、韩国
簇心B(巴林): 伊朗、沙特、乌兹别克、巴林、朝鲜
簇心C(泰国): 中国、伊拉、卡塔尔、阿联酋、泰国、越南、阿曼、印尼

4、重新计算簇心A、B、C的坐标(同一个簇心里各个元素的平均值)
X =(X1 + X2 + Xn)/n
Y = (Y1 + Y2 + Yn)/n
Z = (Z1 + Z2 + Zn)/n

簇心A =(0.15,0.075,0.16)
Xa =(0.3 + 0)/2 = 0.15
Ya = (0 + 0.15)/ 2 = 0.075
Za = (0.19 + 0.13)/ 2 = 0.16
同理
簇心B =(0.528,0.744,0.412)
簇心C = (1,0.94,0.40625)

5、重复步骤2,再次计算各个国家距离簇心A、B、C的距离


K-means聚类算法_第3张图片

6、第二次聚类结果
第二次聚类结果
簇心A: 日本、韩国
簇心B: 伊朗、沙特、乌兹别克、巴林、朝鲜
簇心C: 中国、伊拉克、卡塔尔、阿联酋、泰国、越南、阿曼、印尼

7、重复上述步骤,直到簇心不变或者变化很小

8、 分别计算簇心A、B、C距离0点的距离,最近的簇心包含的国家位于第一梯队,依次位于第二梯队、第三梯队

K-means算法公式如下:


K-means聚类算法_第4张图片

本文参考:
算法杂货铺——k均值聚类(K-means)
K-means聚类算法
K-MEANS 算法

你可能感兴趣的:(K-means聚类算法)