function [cluster,u,sum_old]=kmfunc2(r,k)
load('Data.mat');
x=dataset2;
sum_old=inf;
L=size(x);
l=L(1);
zc=zeros(r,10);
for yy=1:r
u=rand(k,2);
for zz=1:10
cluster=zeros(l,1);
count=zeros(k,1);
u_new=zeros(k,2);
for ii=1:l
maxi=inf;
for jj=1:k;
dist=norm(x(ii,:)-u(jj,:));
if dist<maxi
maxi=dist;
cluster(ii)=jj;
end
end
count(cluster(ii))=count(cluster(ii))+1;
u_new(cluster(ii),:)=u_new(cluster(ii),:)+x(ii,:);
end
for ii=1:k;
if count(ii)~=0
u_new(ii,:)=u_new(ii,:)/count(ii);
end
end
u=u_new;
sum=0;
for ii=1:l
sum=sum+norm(x(ii,:)-u(cluster(ii),:))^2;
end
zc(yy,zz)=sum;
end
if sum_old>sum
sum_old=sum;
mii=yy;
end
end
figure (2);
subplot(1,2,1);
for ii=1:l
if cluster(ii)==1
plot (x(ii,1),x(ii,2),'.r');
hold on
end
if cluster(ii)==2
plot (x(ii,1),x(ii,2),'.g');
hold on
end
if cluster(ii)==3
plot (x(ii,1),x(ii,2),'.b');
hold on
end
end
hold off;
subplot(1,2,2)
plot(1:10,zc(mii,:)/l);
xlabel('iteration times')
ylabel('sum-squared-error (divided by the sample size n)')
end
Kmean.rar_kmean_kmean 二维_matlab 随机点_matlab随机点_二维 高斯分布
版权申诉
5星 · 超过95%的资源 110 浏览量
2022-07-14
14:20:32
上传
评论
收藏 48KB RAR 举报
周楷雯
- 粉丝: 80
- 资源: 1万+
最新资源
- 嵌入式复习-第鸠章 中断及应用
- 嵌入式复习-第八章 定时器原理及应用
- 嵌入式复习-第七章 GPIO原理及应用
- 编译原理课程设计 WHILE循环语句的翻译程序设计实现(LL(1)法、输出四元式)-带报告书
- MFC实现的左推导树右推导树+LR(0)分析
- Linux Kernel Networking: Implementation and Theory (2014)
- 编译原理大作业:类似C语言的编译器设计与实现-支持加减乘除转换 print 输出转换 if 条件转换 赋值语句转换
- 高分项目,基于Unity3D开发实现的三国群英传-武将天赋版,内含完整源码+资源
- vuInhub靶场实战系列-Kioptrix Level #3
- 高分项目,基于Unity3D开发实现的MMORPG KIT,内含完整源码+资源+unitypackage
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论1