4.2 K-Means聚类
聚类
4.2.2 K-Means聚类算法在MATLAB中的实现
K-Means算法代码示例2
4.2 K-Means聚类
聚类
4.2.2 K-Means聚类算法在MATLAB中的实现
由右图可知,K-Means根据距离的远近将 数据集中的样本点划分成了三个类簇,并分别 用不同的颜色和标记(+,o,*)表示,质心 点由“✖”表示。
总体平均方差是:E=E1+E2=25+27.25=52.25
4.2 K-Means聚类
聚类
4.2.1 K-Means聚类算法的原理
3)计算新簇的中心
M1= ((0+5)/2,(2+2)/2)=(2.5,2);M2= ((0+1.5+5)/3,(0+0+0+0)/3)= (2.17,0) 重复2和3,得到O1分配给C1,O2分配给C2,O3分配给C2,O4分配给C2,O5分配给C1。 综上,得到新簇C1={O1, O5},中心为M1= (2.5,2)和C2={O2, O3, O4},中心为M2= (2.17,0)。 单个方差为:E1= [(0-2.5)2+(2-2)2] + [(2.5-5)2+(2-2)2] =12.5; E2= [(2.17-0)2+(0-0)2] + [(2.17-1.5)2+(0-0)2] + [(2.17-5)2+(0-0)2] =13.1667。 总体平均方差是:E=E1+E2=12.5+13.1667=25.667。 由上可以看出,第一次迭代后,总体平均方差值由52.25至25.667,显著减小。由于在两次迭 代中,簇中心不变,所以停止迭代过程,算法停止。