概述
K-均值聚类算法
1.初始化:选择c个代表点
2.建立c个空间聚类表:
3.按照最小距离法则逐个对样本X进行分类:
4.计算J及用各聚类列表计算聚类均值,并用来作为各聚类新的代表点(更新代表点)
5.若J不变或代表点未发生变化,则停止。否则转2.
6.
具体代码如下:
clear all
clc
x=[0 1 0 1 2 1 2 3 6 7 8 6 7 8 9 7 8 9 8 9;0 0 1 1 1 2 2 2 6 6 6 7 7 7 7 8 8 8 9 9];
figure(1)
plot(x(1,:),x(2,:),'r*')
%%第一步选取聚类中心,即令K=2
Z1=[x(1,1);x(2,1)];
Z2=[x(1,2);x(2,2)];
R1=[];
R2=[];
t=1;
K=1;%记录迭代的次数
dif1=inf;
dif2=inf;
%%第二步计算各点与聚类中心的距离
while(dif1>eps&dif2>eps)
for i=1:20
end
Z11=mean(R1,2);
Z22=mean(R2,2);
t1=Z1-Z11;%%测试两次是不是相等,可以有多种方法这里只简单的列举一种
t2=Z2-Z22;
dif1=sqrt(dot(t1,t1));
dif2=sqrt(dot(t2,t2));
Z1=Z11;
Z2=Z22;
K=K+1;
R1=[];
R2=[];
end
hold on
plot ([Z1(1),Z2(1)],[Z1(2),Z2(2)],'g+')
最后
以上就是彪壮绿茶为你收集整理的K均值聚类算法(matlab)的全部内容,希望文章能够帮你解决K均值聚类算法(matlab)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复