k-means分群
作者:互联网
目录
非监督式学习:
- 关联规则association rules(先验演算法、FP-Growth)
- 分群clustering(k-means)
监督式学习:
- 分类问题classification
- 回归问题regression
k-means算法的过程
- 随机选取k个中心
- 计算欧式距离
- 就近分配,即分类
- 计算分配后的k个新中心点坐标,若新中心点与原来的中心点相同,则算法结束,否则重复如上2-4步骤。
初始数据如下图所示(k=2),具体计算过程如下:
项目 | 长度/m | 重量/吨 |
---|---|---|
A | 1 | 1 |
B | 2 | 2 |
C | 3 | 1 |
D | 6 | 4 |
E | 7 | 5 |
F | 8 | 4 |
1. 随机指定两个点作为中心,如起始中心点取A(1,1),B(2,2),即C1(1,1),C2(2,2);
2. 开始计算各点与中心点的距离(欧氏距离);
C1(1,1) | C2(2,2) | |
---|---|---|
A | 0 | 1.414 |
B | 1.414 | 0 |
C | 2 | 1.414 |
D | 5.831 | 4.472 |
E | 7.211 | 5.831 |
F | 7.616 | 6.325 |
3. 将所有点按照距离分配给C1和C2,即若|PC1|<|PC2|,则将P分给C1,否则分给C2;
C1 | A |
C2 | B、C、D、E、F |
4. 分别计算以C1和C2为中心的点的虚拟中心,即求点的的横纵坐标的平均值,并更新C1和C2;
C1中:,
C2中:,
更新后,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) | |
---|---|---|
A | 0 | 4.741 |
B | 1.414 | 3.418 |
C | 2 | 3.111 |
D | 5.831 | 1.131 |
E | 7.211 | 2.546 |
F | 7.616 | 2.912 |
2. 按照距离分配点
C1 | A、B、C |
C2 | D、E、F |
3. 更新C1和C2
C1中:,
C2中:,
更新后,C1(2,1.33)、C2(7,4.33)
4. 由于更新后的C1与C2与之前的C1和C2不同,即中心发生了移动,所以继续重复;
第二次重复:
1. 计算距离
C1(2,1.33) | C2(7,4.33) | |
---|---|---|
A | 1.053 | 6.862 |
B | 0.67 | 5.516 |
C | 1.053 | 5.205 |
D | 4.8093 | 1.053 |
E | 6.202 | 0.67 |
F | 6.567 | 1.053 |
2. 按照距离分配点
C1 | A、B、C |
C2 | D、E、F |
3. 更新C1和C2
C1中:,
C2中:,
更新后,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