全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
clearclcload data.txt; a=data(1:30,1:4);%取第一类的前三十组aa=data(31:50,1:4);%第一类的后二十组b=data(51:80,1:4);%第二类的前三十组bb=data(81:100,1:4);%第二类的后二十组c=data(101:130,1:4);%取第三类的前三十组cc=data(131:150,1:4); %第三类的后二十组train=cat(1,a,b,c);%组成训练样本(90*4)test=cat(1,aa,bb,cc); %组成测试样本(60*4)c=3; %c均值c=3z1=train(1,:); z2=train(45,:);z3=train(90,:); %初始聚类中心z1,z2,z3m=0;t=0; %迭代步数while m=0 samp1=;samp2=;samp3=; %定义空样本:第一类为samp1,第二类为samp2,第三类为samp3 n1=1;n2=1;n3=1; t=t+1; for i=1:90 if (pdist(train(i,:);z1)pdist(train(i,:);z2)&(pdist(train(i,:);z1)pdist(train(i,:);z3)%距离 %若训练样本与聚类z1的距离小于与z2,z3的距离,则赋值于samp1. samp1(n1,:)=train(i,:); n1=n1+1; elseif (pdist(train(i,:);z2)pdist(train(i,:);z1)&(pdist(train(i,:);z2)pdist(train(i,:);z3) %若训练样本与聚类z2的距离小于与z1,z3的距离,则赋值于samp2. samp2(n2,:)=train(i,:); n2=n2+1; else%其他则赋值于samp3 samp3(n3,:)=train(i,:); n3=n3+1; end end %for c1=mean(samp1,1); c2=mean(samp2,1); c3=mean(samp3,1); %求出新的均值,产生新的聚类中心 if isequal(c1,z1)&isequal(c2,z2)&isequal(c3,z3) %判断新旧聚类中心是否相等。若相等则结束m=1 m=1; end z1=c1; %新旧聚类中心若不相等,新聚类中心赋值于旧聚类中心。继续循环 z2=c2; z3=c3;end %while %聚类中心z1=5.0267 3.45 1.4733 0.24667,z2=5.9703 2.7459 4.44051.4676,z3=6.9 3.0478 5.8174 2.0217%kmeans算法结束后分三类samp1(30*4),samp2(37*4),samp3(23*4)共90行,迭代次数t=5sum=0;u,v=size(test);%返回测试样本行列,u=60,v=4test1=;test2=;test3=;m1=1;m2=1;m3=1;for x=1:u d1=pdist(test(x,:);z1);%测试样本与聚类中心z1的距离 d2=pdist(test(x,:);z2);%测试样本与聚类中心z2的距离 d3=pdist(test(x,:);z3);%测试样本与聚类中心z3的距离 if d1d2&d1d3%若d1最小则测试样本赋值于test1 test1(m1,:)=test(x,:); m1=m1+1;m=1; elseif d2d1&d2d3%若d2最小则测试样本赋值于test2 test2(m2,:)=test(x,:); m2=m2+1;m=2; else test3(m3,:)=test(x,:);%若d3最小则测试样本赋值于test3 m3=m3+1;m=3; end%分类结果为test1(20*4),test2(25*4),test3(15*4)共60组 if x20&x40&x=60 disp(sprintf(第%d组数据分类后为第%d类,x+90,m); end if (x20&x40&x=60&m=3) sum=sum+1; %正确的个数 end end disp(sprintf(分类正确率为%4.2f,sum/60);%正确率clearclcload data.txt; a=data(1:30,1:4);%取第一类的前三十组aa=data(31:50,1:4);%第一类的后二十组b=data(51:80,1:4);%第二类的前三十组bb=data(81:100,1:4);%第二类的后二十组c=data(101:130,1:4);%取第三类的前三十组cc=data(131:150,1:4); %第三类的后二十组train_sample=cat(1,a,b,c);%组成训练样本test_sample=cat(1,aa,bb,cc); %组成测试样本k=5;%k近邻k取5cha=zeros(1,90);sum=0;i,j=size(train_sample);%i=90,j=4u,v=size(test_sample);%u=60,v=4for x=1:u for y=1:i result=sqrt(test_sample(x,1)-train_sample(y,1).2+(test_sample(x,2)-train_sample(y,2).2+. (test_sample(x,3)-train_sample(y,3).2+(test_sample(x,4)-train_sample(y,4).2); cha(1,y)=result;%第一个测试样本与所有训练样本间的距离向量 end; z,Ind=sort(cha);%从小到大排列Ind用来存储排序前在cha中的下标90 m1=0; m2=0; m3=0; for n=1:k if Ind(1,n)30&Ind(1,n)=60 m2=m2+1; %前五个中下标小于60大于30的个数 else m3=m3+1; %前五个中下标小于90大于60的个数 end end L=m1 m2 m3; if m1=max(L) m=1; %若m1最大则属于第一类 elseif m2=max(L) m=2; %若m2最大则属于第二类 elseif m3=max(L) m=3; %若m3最大则属
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年国家网络安全知识竞赛题库及参考答案
- 水质化验工考试题及答案
- 2026广东江门市人民医院人才招聘计划备考题库及一套完整答案详解
- 2025年山东艺术学院招聘真题(行政管理岗)
- 2026江西农业大学校园建设处非全日制环卫合同工招聘1人备考题库附答案详解
- 2026山东事业单位统考菏泽市单县招聘初级综合类岗位26人备考题库及答案详解(考点梳理)
- 2026广东江门市台山文化旅游集团有限公司总经理市场化选聘1人备考题库有完整答案详解
- 2025山东华云三维科技有限公司实习生招聘备考题库及完整答案详解一套
- 2026广东深圳市南山区西丽幼儿园招聘备考题库(含答案详解)
- 2025-2026贵州九八五教育集团教师招聘考试3人备考题库及参考答案详解一套
- 问卷星使用培训
- 心源性脑卒中的防治课件
- 2025年浙江辅警协警招聘考试真题含答案详解(新)
- 果园合伙经营协议书
- 节能技术咨询合同范本
- 物业管理经理培训课件
- 员工解除竞业协议通知书
- 【语文】太原市小学一年级上册期末试题(含答案)
- 储能电站员工转正述职报告
- DB3301∕T 0165-2018 城市照明设施养护维修服务标准
- 不锈钢护栏施工方案范文
评论
0/150
提交评论