标题:
k均值算法的matlab源代码
[打印本页]
作者:
playgamewy
时间:
2019-2-10 15:20
标题:
k均值算法的matlab源代码
用于实现k均值算法的matlab源代码,简单易懂,方便理解。自己可以参考注释修改源代码,以便深入的了解该算法的本质。
x1=[0 1 0 1 2 1 2 3 6 7 8 6 7 8 9 7 8 9 8 9];
x2=[0 0 1 1 1 2 2 2 6 6 6 7 7 7 7 8 8 9 9 9];
cities = [x1;x2];
num = size(cities,2);
m1 = round(rand()*num);
m2 = round(rand()*num);
while m1==m2
m2 = round(rand()*num);
end
u1 = cities(:,m1);
u2 = cities(:,m2);
u_old = [u1,u2];
u_new = [u2,u1];
while u_old ~= u_new
u_old = u_new ;
for j=1:num
dis1 = norm(cities(:,j)-u1);
dis2 = norm(cities(:,j)-u2);
if dis1>=dis2 c(j) = 2;
else c(j) = 1;
end
end
index1 = find(c==1);
index2 = find(c==2);
sum1 = sum(cities(:,index1),2);
sum2 = sum(cities(:,index2),2);
u1 = sum1/length(index1);
u2 = sum2/length(index2);
u_new = [u1,u2];
end
hold on,plot(cities(1,index1),cities(2,index1),'*');
hold on,plot(cities(1,index2),cities(2,index2),'+');
hold on,plot(u1(1),u1(2),'o',u2(1),u2(2),'o');
mean = u_new;
复制代码
源程序.docx
2019-2-10 15:20 上传
点击文件名下载附件
下载积分: 黑币 -5
13.37 KB, 下载次数: 2, 下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1