模式识别中K均值与最近邻法matlab实现

模式识别中K均值与最近邻法matlab实现

ID:44788843

大小:23.40 KB

页数:13页

时间:2019-10-29

模式识别中K均值与最近邻法matlab实现_第1页
模式识别中K均值与最近邻法matlab实现_第2页
模式识别中K均值与最近邻法matlab实现_第3页
模式识别中K均值与最近邻法matlab实现_第4页
模式识别中K均值与最近邻法matlab实现_第5页
资源描述:

《模式识别中K均值与最近邻法matlab实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用模式识别算法实现——K近邻法&最近邻法一.程序<用MATLAB做的>1.用Iris数据集验证的程序(1)用Iris数据集验证的M文件:loadiris.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=50ones(1,25)+B(1,1:25);b2=50ones(1,25)+B(1,26:50);b=Iris(b1,1:4);

2、%%随机取第二类数据的25组bb=Iris(b2,1:4);c1=100ones(1,25)+C(1,1:25);c2=100ones(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(t

3、rain_sample);%i=75,j=4[u,v]=size(test_sample);%u=75,v=4forx=1:ufory=1:iresult=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,

4、Ind]=sort(cha);%Ind用来存储排序前在cha中的下标m1=0;m2=0;m3=0;forn=1:kifInd(1,n)<=25m1=m1+1;elseifInd(1,n)>25&&Ind(1,n)<=50m2=m2+1;elsem3=m3+1;endendifm1>=m2&&m1>=m3m=1;elseifm2>=m1&&m2>=m3m=2;elseifm3>=m1&&m3>=m2文档实用m=3;endif(x<=25&&m==1)sum1=sum1+1;elseif(x>25&&x<=50&&m==2)sum2

5、=sum2+1;elseif(x>50&&x<=75&&m==3)sum3=sum3+1;endif(x<=25&&m==1)(x>25&&x<=50&&m==2)(x>50&&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

6、',sum/75));(2)验证结果:a)K近邻法:K=7实验结果表1.类别次数第一类第二类第三类总识别率11.000.961.000.9921.000.920.960.9631.000.840.960.9341.000.920.920.9551.000.880.960.9561.000.961.000.9971.000.960.960.9781.000.960.920.9691.000.961.000.99101.000.920.880.931.000.920.960.96文档实用总识别率a)最近邻法(即令K=1)实验结果表2

7、.类别次数第一类第二类第三类总识别率11.000.880.960.9521.000.960.800.9231.000.960.920.9641.000.920.880.9351.000.960.980.9561.000.960.960.9771.000.960.800.9281.001.001.001.0091.000.880.960.95101.000.960.920.96总识别率1.000.940.920.95文档实用(3)数据分析第一个表格是用K(k=7)近邻法得到的识别率,第二个表格是用最近邻法得到的识别率,可以看出对于

8、Iris数据,两种方法的识别率都达到了95%左右。2.用Wine数据集验证的程序(1)用Wine数据集验证的M文件:loadwine.mat;A=randperm(59);B=randperm(71);C=randperm(48);a1=A(1,1:30);a2

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。