k-平均算法(k-means算法)(k均值算法)例题
题目给出
-
簇的数目k=2 -
下表数据表(n=8)行数据
序号 | 属性1 | 属性2 |
---|
1 | 1 | 1 | 2 | 2 | 1 | 3 | 1 | 2 | 4 | 2 | 2 | 5 | 4 | 3 | 6 | 5 | 3 | 7 | 4 | 4 | 8 | 5 | 4 |
解:
-
第一次迭代:由于最终结果要为k=2个簇,所以第一次迭代先随机找两行数据,如第1行和第3行当为初始点, ①要将全部数据分为两个簇,运用欧氏距离,让2,4,5,6,7,8依次和1和3分别进行距离计算,然后比较,离1近则和1合并,离3近则和3合并,这次迭代得到两个簇{1,2}和{3,4,5,6,7,8} ②对产生的簇分别计算平均值,得到平均值点 对于{1,2},属性1:(1+2)/2=1.5,属性2:(1+1)/2=1,则平均值点为(1.5,1) 对于{3,4,5,6,7,8},属性1:(1+2+4+5+4+5)/6=3.5,属性2:(2+2+3+3+4+4)/6=3,则平均值点为(3.5,3) -
第二次迭代:再将表中全部数据按离平均值点(1.5,1)和(3.5,3)最近的原则,重新分配。得到两个新的簇:{1,2,3,4}和{5,6,7,8}; 再重新计算簇平均值点,得到新的平均值为(1.5,1.5)和(4.5,3.5) -
第三次迭代:再将表中全部数据按离新的平均值点(1.5,1.5)和(4.5,4.5)最近的原则,重新分配。得到两个新的簇:{1,2,3,4}和{5,6,7,8};这里发现与第二次迭代得到的两个簇相比,没有出现新的簇,则算法结束。
最终的到两个簇{1,2,3,4}和{5,6,7,8}。
|