其他分享
首页 > 其他分享> > k-means分群

k-means分群

作者:互联网

目录

非监督式学习:

监督式学习:

k-means算法的过程

分群结果的优劣判断


非监督式学习:

监督式学习:

k-means算法的过程

  1. 随机选取k个中心
  2. 计算欧式距离
  3. 就近分配,即分类
  4. 计算分配后的k个新中心点坐标,若新中心点与原来的中心点相同,则算法结束,否则重复如上2-4步骤。

初始数据如下图所示(k=2),具体计算过程如下:

项目长度/m重量/吨
A11
B22
C31
D64
E75
F84

1. 随机指定两个点作为中心,如起始中心点取A(1,1),B(2,2),即C1(1,1),C2(2,2);

2. 开始计算各点与中心点的距离(欧氏距离);

C1(1,1)C2(2,2)
A01.414
B1.4140
C21.414
D5.8314.472
E7.2115.831
F7.6166.325

3. 将所有点按照距离分配给C1和C2,即若|PC1|<|PC2|,则将P分给C1,否则分给C2;

C1A
C2B、C、D、E、F

4. 分别计算以C1和C2为中心的点的虚拟中心,即求点的的横纵坐标的平均值,并更新C1和C2;

C1中:\bar{x}=1,    \bar{y}=1

C2中:\bar{x}=\frac{2+3+6+7+8}{5}=5.2,     \bar{y}=\frac{2+1+4+5+4}{5}=3.2

 更新后,C1(1,1)、C2(5.2,3.2)

5. 由于更新后的C1与C2与之前的C1和C2不同,即中心发生了移动,所以继续重复上述过程2-4,直到C1、C2不在发生变化(C1和C2两个都不变时才可结束);

第一次重复:

        1. 计算距离

C1(1,1)C2(5.2,3.2)
A04.741
B1.4143.418
C23.111
D5.8311.131
E7.2112.546
F7.6162.912

        2. 按照距离分配点

C1A、B、C
C2D、E、F

        3. 更新C1和C2

        C1中:\bar{x}=\frac{1+2+3}{3}=2,    \bar{y}=\frac{1+2+1}{3}=1.33

        C2中:\bar{x}=\frac{6+7+8}{3}=7,     \bar{y}=\frac{4+5+4}{3}=4.33

         更新后,C1(2,1.33)、C2(7,4.33)

       4.  由于更新后的C1与C2与之前的C1和C2不同,即中心发生了移动,所以继续重复;

第二次重复:

        1. 计算距离

C1(2,1.33)C2(7,4.33)
A1.0536.862
B0.675.516
C1.0535.205
D4.80931.053
E6.2020.67
F6.5671.053

        2. 按照距离分配点

C1A、B、C
C2D、E、F

        3. 更新C1和C2

        C1中:\bar{x}=\frac{1+2+3}{3}=2,    \bar{y}=\frac{1+2+1}{3}=1.33

        C2中:\bar{x}=\frac{6+7+8}{3}=7,     \bar{y}=\frac{4+5+4}{3}=4.33

         更新后,C1(2,1.33)、C2(7,4.33)

        4. 由于更新后的C1与C2与之前的C1和C2相同,即中心没有发生了移动,所以计算到此结束;

6. 综上,本题中按照k=2可以将点分为{A,B,C}和{D,E,F}。

分群结果的优劣判断

WCSS(within-cluster sum of squares):是各群集所属资料贴到群集中心距离的平方和,数值越小代表分群品质越高。   

标签:means,距离,分群,更新,中心点,C2,C1
来源: https://blog.csdn.net/weixin_51032998/article/details/121410790