D 记录了每个点到每个中心点的距离的平方,第 i 行的第 j 列为第 i 个样本到第 j 组中心点的距离平方。
实例
对下面这组数据进行分类,规定分为 2 类
clear
X =[00;10;01;11;21;12;22;32;66;76;...86;67;77;87;97;78;88;98;89;99];[idx,C,sumd,D]=kmeans(X,2);
figure
plot(X(:,1),X(:,2),'b*','MarkerSize',10);
hold on
plot(C(:,1),C(:,2),'ro','MarkerSize',10);
K值确定
在建模过程中,我们要选取合适的 K 值建立模型,下面介绍一种简单的选取方法。
随着 K 值的增大,所有点到其所对应的中心点距离的平方(WSS)会减小(由于算法原因,每一次运行结果可能有所波动),当 K 增大到所有点的个数时,每个点自成一类,WSS变为0。所以,做出X轴是K值,Y轴是WSS的图,看到那个拐弯处最厉害的地方就是理想的 K 值,因为再增加 K 也不会很大地改善分类效果了。