模式识别中K均值与最近邻法matlab实现.doc
《模式识别中K均值与最近邻法matlab实现.doc》由会员分享,可在线阅读,更多相关《模式识别中K均值与最近邻法matlab实现.doc(14页珍藏版)》请在课桌文档上搜索。
1、模式识别算法实现K近邻法&最近邻法一 程序1. 用Iris数据集验证的程序1用Iris数据集验证的M文件:load iris.mat;A=randperm(50);B=randperm(50);C=randperm(50);a1=A(1,1:25);a2=A(1,26:50);a=Iris(a1,1:4);%随机取第一类数据的25组aa=Iris(a2,1:4);b1=50*ones(1,25)+B(1,1:25);b2=50*ones(1,25)+B(1,26:50);b=Iris(b1,1:4);%随机取第二类数据的25组bb=Iris(b2,1:4);c1=100*ones(1,25)+
2、C(1,1:25);c2=100*ones(1,25)+C(1,26:50);c=Iris(c1,1:4);%随机取第三类数据的25组cc=Iris(c2,1:4);train_sample=cat(1,a,b,c);%拼接成包含75组数据的样本集test_sample=cat(1,aa,bb,cc);k=7;%7近邻法cha=zeros(1,75);sum1=0;sum2=0;sum3=0;sum=0;i,j=size(train_sample);%i=75,j=4u,v=size(test_sample);%u=75,v=4for x=1:u for y=1:i result=sqrt(t
3、est_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中的下标 m1=0; m2=0; m3=0; for n=1:k if Ind(1,n)25&Ind(1,n)=m2&m1=m3 m=1; elseif m2=m1&m2=m3 m=2; elsei
4、f m3=m1&m3=m2 m=3; end if (x25&x50&x=75&m=3) sum3=sum3+1; end if (x25&x50&x=75&m=3) sum=sum+1; endenddisp(sprintf(第一类分类正确率为%4.2f,sum1/25);disp(sprintf(第二类分类正确率为%4.2f,sum2/25);disp(sprintf(第三类分类正确率为%4.2f,sum3/25);disp(sprintf(总分类正确率为%4.2f,sum/75);2验证结果:a) K近邻法:K=7 实验结果表1.类别次数第一类第二类第三类总识别率12345678910总
5、识别率b) 最近邻法 即令K=1 实验结果表2.类别次数第一类第二类第三类总识别率12345678910总识别率(3) 数据分析第一个表格是用K(k=7)近邻法得到的识别率,第二个表格是用最近邻法得到的识别率,可以看出对于Iris数据,两种方法的识别率都达到了95%左右。2. 用Wine数据集验证的程序1用Wine数据集验证的M文件:load wine.mat;A=randperm(59);B=randperm(71);C=randperm(48);a1=A(1,1:30);a2=A(1,31:59);a=wine(a1,1:14);aa=wine(a2,1:14);b1=59*ones(1,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模式识别 均值 近邻 matlab 实现

链接地址:https://www.desk33.com/p-16903.html