用K近邻法实现对Iris数据分类.docx
《用K近邻法实现对Iris数据分类.docx》由会员分享,可在线阅读,更多相关《用K近邻法实现对Iris数据分类.docx(4页珍藏版)》请在三一办公上搜索。
1、用K近邻法实现对Iris数据分类西安电子科技大学 题目:用 K近邻法实现对Iris数据分类 Experiment 2 You are offered the iris dataset of the UCI dataset. Cluster the data to three categories. Then compare the result with the correct one in iris dataset and compute the classification accuracy. Experimental procedure load iris.mat; a=data(1:2
2、0,1:4);%取第一类数据的前20组 aa=data(21:50,1:4); b=data(51:70,1:4);%取第二类数据的前20组 bb=data(71:100,1:4); c=data(101:120,1:4);%取第三类数据的前20组 cc=data(121:150,1:4); train_sample=cat(1,a,b,c);%拼接成包含60组数据的样本集 test_sample=cat(1,aa,bb,cc); k=11;%11近邻法 cha=zeros(1,60);sum=0; i,j=size(train_sample);%i=60,j=4 u,v=size(test_
3、sample);%u=90,v=4 for 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中的下标 m1=0; m2=0; m3=0; for n=1:k if Ind(1,n)20&I
4、nd(1,n)=m2&m1=m3 m=1; elseif m2=m1&m2=m3 m=2; elseif m3=m1&m3=m2 m=3; end if x30&x60&x=90 disp(sprintf(第%d组数据分类后为第%d类,x+60,m); end if (x30&x60&x=90&m=3) sum=sum+1; end end disp(sprintf(分类正确率为%4.2f,sum/90); Results: 第21组数据分类后为第1类 第22组数据分类后为第1类 第23组数据分类后为第1类 第24组数据分类后为第1类 第25组数据分类后为第1类 第26组数据分类后为第1类 第
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 近邻 实现 Iris 数据 分类
链接地址:https://www.31ppt.com/p-3658289.html