• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

K-means聚类分析MATLAB代码

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
function kmeans
load q1x.dat;
a1=round(98*rand+1);
a2=round(98*rand+1);
miao1=[q1x(a1,1),q1x(a1,2)];
miao2=[q1x(a2,1),q1x(a2,2)];
c=zeros(99,1);
sum1=zeros(1,2);
sum2=zeros(1,2);
for k=1:1
for i=1:99
    temp1=norm(q1x(i,:)-miao1)^2;
    temp2=norm(q1x(i,:)-miao2)^2;
if temp1<temp2
    c(i)=1;
    sum1(1,1)=sum1(1,1)+q1x(i,1);
    sum1(1,2)=sum1(1,1)+q1x(i,2);  
else
    c(i)=2;
    sum2(1,1)=sum2(1,1)+q1x(i,1);
    sum2(1,2)=sum2(1,1)+q1x(i,2);
end
end
e1=find(c==1);
e2=find(c==2);
miao1=[sum1(1,1)/length(e1),sum1(1,2)/length(e1)];
miao2=[sum2(1,1)/length(e2),sum2(1,2)/length(e2)];
end
for j=1:99
    if c(j)==1
       plot(q1x(j,1),q1x(j,2),'o');
       hold on;
    else
       plot(q1x(j,1),q1x(j,2),'r*');
       hold on; 
    end
end
数据集依旧来自Ng的qx1。可能是由于数据集的缘故(这个数据集是用来做logistic回归的...我比较懒就没去找新的...),迭代次数k一旦超过了2就会产生灾难性的后果~~~留着这个坑以后慢慢填~~~

版权声明:本文为博主原创文章,未经博主允许不得转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
VisualStudio控制台应用程序同时使用OpenCV和matlabmat文件操作发布时间:2022-07-18
下一篇:
用Delphi开发视频聊天室发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap