




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、最近邻法和k-近邻法学号:02105120 姓名:吴林基本概念:最近邻法:对于未知样本x,比较x与N个已知类别的样本之间的欧式距离,并决策x与 距离它最近的样本同类。K近邻法:取未知样本x的k个近邻,看这k个近邻中多数属于哪一类,就把x归为哪一 类。K取奇数,为了是避免k1=k2的情况。问题分析:要判别x属于哪一类,关键要求得与x最近的k个样本(当k=1时,即是最近邻法),然 后判别这k个样本的多数属于哪一类。可采用欧式距离公式求得两个样本间的距离s=sqrt(x1-x2)八2+(y1-y2)八2)算法分析:该算法中任取每类样本的一半作为训练样本,其余作为测试样本。例如iris中取每类样本 的
2、25组作为训练样本,剩余25组作为测试样本,依次求得与一测试样本x距离最近的k 个样本,并判断k个样本多数属于哪一类,则x就属于哪类。测试10次,取10次分类正 确率的平均值来检验算法的性能。MATLAB代码:最近邻算实现对Iris分类clc;totalsum=0;for ii=1:10data=load(iris.txt);data1=data(1:50,1:4); %任取 Iris-setosa 数据的 25 组rbow1=randperm(50);trainsample1=data1(rbow1(:,1:25),1:4);rbow1(:, 26:50)=sort(rbow1(:, 26:
3、50);%剩余的25组按行下标大小顺序排列 testsample1=data1(rbow1(:,26:50),1:4);data2=data(51:100,1:4);% 任取 Iris-versicolor 数据的 25 组 rbow2=randperm(50);trainsample2=data2(rbow2(:,1:25),1:4);rbow2(:,26:50)=sort(rbow2(:,26:50);testsample2=data2(rbow2(:,26:50),1:4);data3=data(101:150,1:4);% 任取 Iris-virginica 数据的 25 组 rbow
4、3=randperm(50);trainsample3=data3(rbow3(:,1:25),1:4);rbow3(:,26:50)=sort(rbow3(:,26:50);testsample3=data3(rbow3(:,26:50),1:4);trainsample=cat(1,trainsample1,trainsample2,trainsample3);% 包含 75 组数据的样本集testsample=cat(1,testsample1,testsample2,testsample3);newchar=zeros(1,75);sum=0;i,j=size(trainsample)
5、;%i=60,j=4u,v=size(testsample);%u=90,v=4for x=1:ufor y=1:iresult=sqrt(testsample(x,1)-trainsample(y,1)八2+(testsample(x,2) -trainsample(y,2)八2+(testsample(x,3)-trainsample(y,3)八2+(testsa mple(x,4)-trainsample(y,4)八2); %欧式距离newchar(1,y)=result;end;new,Ind=sort(newchar);class1=0;class2=0;class3=0;if In
6、d(1,1)25&Ind(1,1)=50class2=class2+1;elseclass3=class3+1;endif class1class2&class1class3m=1;tyIris-setosa;elseif class2class1&class2class3m=2;tyIris-versicolor;elseif class3class1&class3class2m=3;tyIris-virginica;elsem=0;tynone;endif x=25&m0disp(sprintf 第d 组数据分类后为$ 类,rbow1(:,x+25),ty);elseif x25&x0di
7、sp(sprintf 第d 组数据分类后为$ 类,50+rbow2(:,x),ty);elseif x25&x50&x0disp(sprintf 第d 组数据分类后为$ 类,100+rbow3(:,x-25),ty);elseif x50&x=75&m=0disp(sprintf 第d 组数据分类后为$ 类,100+rbow3(:,x-25),none);endif (x25&x50&x=75&m=3) sum=sum+1;endenddisp(sprintf(第d 次分类识别率%4.2f,ii,sum/75);totalsum=totalsum+(sum/75);enddisp(sprint
8、f( 10 次分类平均识别率%4.2f,totalsum/10);测试结果:第3组数据分类后为Iris-setosa类 第5组数据分类后为Iris-setosa类 第6组数据分类后为Iris-setosa类 第7组数据分类后为Iris-setosa类 第10组数据分类后为Iris-setosa类 第11组数据分类后为Iris-setosa类 第12组数据分类后为Iris-setosa类 第14组数据分类后为Iris-setosa类 第16组数据分类后为Iris-setosa类 第18组数据分类后为Iris-setosa类 第19组数据分类后为Iris-setosa类 第20组数据分类后为Iri
9、s-setosa类 第23组数据分类后为Iris-setosa类 第24组数据分类后为Iris-setosa类 第26组数据分类后为Iris-setosa类 第28组数据分类后为Iris-setosa类 第30组数据分类后为Iris-setosa类 第31组数据分类后为Iris-setosa类 第34组数据分类后为Iris-setosa类 第37组数据分类后为Iris-setosa类 第39组数据分类后为Iris-setosa类 第41组数据分类后为Iris-setosa类 第44组数据分类后为Iris-setosa类 第45组数据分类后为Iris-setosa类 第49组数据分类后为Iris
10、-setosa类 第51组数据分类后为Iris-versicolor类 第53组数据分类后为Iris-versicolor类 第54组数据分类后为Iris-versicolor类 第55组数据分类后为Iris-versicolor类 第57组数据分类后为Iris-versicolor类 第58组数据分类后为Iris-versicolor类 第59组数据分类后为Iris-versicolor类 第60组数据分类后为Iris-versicolor类 第61组数据分类后为Iris-versicolor类 第62组数据分类后为Iris-versicolor类 第68组数据分类后为Iris-versic
11、olor类 第70组数据分类后为Iris-versicolor类 第71组数据分类后为Iris-virginica类 第74组数据分类后为Iris-versicolor类 第75组数据分类后为Iris-versicolor类 第77组数据分类后为Iris-versicolor类 第79组数据分类后为Iris-versicolor类 第80组数据分类后为Iris-versicolor类 第84组数据分类后为Iris-virginica类 第85组数据分类后为Iris-versicolor类 第92组数据分类后为Iris-versicolor类 第95组数据分类后为Iris-versicolor类
12、 第97组数据分类后为Iris-versicolor类 第98组数据分类后为Iris-versicolor类 第99组数据分类后为Iris-versicolor类 第102组数据分类后为Iris-virginica类 第103组数据分类后为Iris-virginica类 第105组数据分类后为Iris-virginica类 第106组数据分类后为Iris-virginica类 第107组数据分类后为Iris-versicolor类 第108组数据分类后为Iris-virginica类 第114组数据分类后为Iris-virginica类 第118组数据分类后为Iris-virginica类 第
13、119组数据分类后为Iris-virginica类 第124组数据分类后为Iris-virginica类 第125组数据分类后为Iris-virginica类 第126组数据分类后为Iris-virginica类 第127组数据分类后为Iris-virginica类 第128组数据分类后为Iris-virginica类 第129组数据分类后为Iris-virginica类 第130组数据分类后为Iris-virginica类 第133组数据分类后为Iris-virginica类 第135组数据分类后为Iris-virginica类 第137组数据分类后为Iris-virginica类 第138
14、组数据分类后为Iris-virginica类 第142组数据分类后为Iris-virginica类 第144组数据分类后为Iris-virginica类 第148组数据分类后为Iris-virginica类 第149组数据分类后为Iris-virginica类 第150组数据分类后为Iris-virginica类实验次数识别率第1次分类识别率为0. 96第2次分类识别率为0. 92第N次分类识别率为0. 96第4次分类识别率为0. 97第5次分类识别率为0. 92第日次分类识别率为0. 96第丫次分类识别率为0. 97第8次分类识别率为0. 93第9次分类识别率为0. 96第次分类识别率为0.
15、 93L0次分类平均识别率为0. 95k近邻法对wine分类:clc;otalsum=0;for ii=1:10%循环测试10次data=load( wine.txt ); %导入 wine 数据data1=data(1:59,1:13);%任取第一类数据的 30 组 rbow1=randperm(59);trainsample1=data1(sort(rbow1(:,1:30),1:13);rbow1(:,31:59)=sort(rbow1(:,31:59); %剩余的29组按行下标大小顺序排列 testsample1=data1(rbow1(:,31:59),1:13);data2=dat
16、a(60:130,1:13);%任取第二类数据的 35 组 rbow2=randperm(71);trainsample2=data2(sort(rbow2(:,1:35),1:13); rbow2(:,36:71)=sort(rbow2(:,36:71);testsample2=data2(rbow2(:,36:71),1:13);data3=data(131:178,1:13);%任取第三类数据的 24 组 rbow3=randperm(48);trainsample3=data3(sort(rbow3(:,1:24),1:13); rbow3(:,25:48)=sort(rbow3(:,
17、25:48);testsample3=data3(rbow3(:,25:48),1:13);train_sample=cat(1,trainsample1,trainsample2,trainsample3);%包含 89 组数据的样本集test_sample=cat(1,testsample1,testsample2,testsample3);k=19;%19近邻法newchar=zeros(1,89);sum=0;i,j=size(train_sample);%i=89,j=13 u,v=size(test_sample);%u=89,v=13for x=1:ufor y=1:iresul
18、t=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+(test_sample(x,5)-train_sam ple(y,5)八2+(test_sample(x,6)-train_sample(y,6)八2+(test_sample(x ,7)-train_sample(y,7)八2+(test_sample(x,8)-train_
19、sample(y,8)八2+( test_sample(x,9)-train_sample(y,9)八2+(test_sample(x,10)-train_sa mple(y,10)八2+(test_sample(x,11)-train_sample(y,11)八2+(test_samp le(x,12)-train_sample(y,12)八2+(test_sample(x,13)-train_sample(y, 13)八2); %欧式距离newchar(1,y)=result;end;new,Ind=sort(newchar);class1=0;class 2=0;class 3=0;fo
20、r n=1:kif Ind(1,n)30&Ind(1,n)= class 2& class1= class3m=1;elseif class2= class1& class2= class3m=2;elseif class3= class1& class3= class2m=3;endif x29&x65&x=89disp(sprintf 第d 组数据分类后为第d 类,130+rbow3(:,x-41),m); endif (x29&x65&x=89&m=3) sum=sum+1;endenddisp(sprintf(第d 次分类识别率%4.2f,ii,sum/89);totalsum=tot
21、alsum+(sum/89);enddisp(sprintf( 10 次分类平均识别率%4.2f,totalsum/10);第2组数据分类后为第1类第4组数据分类后为第1类第5组数据分类后为第3类第6组数据分类后为第1类第8组数据分类后为第1类第10组数据分类后为第1类第11组数据分类后为第1类第14组数据分类后为第1类第16组数据分类后为第1类第19组数据分类后为第1类第20组数据分类后为第3类第21组数据分类后为第3类第22组数据分类后为第3类第26组数据分类后为第3类第27组数据分类后为第1类第28组数据分类后为第1类第30组数据分类后为第1类第33组数据分类后为第1类第36组数据分类后
22、为第1类 第37组数据分类后为第1类 第43组数据分类后为第1类 第44组数据分类后为第3类 第45组数据分类后为第1类 第46组数据分类后为第1类 第49组数据分类后为第1类 第52组数据分类后为第1类 第54组数据分类后为第1类 第56组数据分类后为第1类 第57组数据分类后为第1类 第60组数据分类后为第2类 第61组数据分类后为第3类 第63组数据分类后为第3类 第65组数据分类后为第2类 第66组数据分类后为第3类 第67组数据分类后为第2类 第71组数据分类后为第1类 第72组数据分类后为第2类 第74组数据分类后为第1类 第76组数据分类后为第2类 第77组数据分类后为第2类 第79组数据分类后为第3类 第81组数据分类后为第2类 第82组数据分类后为第3类 第83组数据分类后为第3类 第84组数据分类后为第2类 第86组数据分类后为第2类 第87组数据分类后为第2类 第88组数据分类后为第2类 第93组数据分类后为第2类 第96组数据分类后为第1类 第98组数据分类后为第2类 第99组数据分类后为第3类 第102组数据分类后为第2类 第104组数据分类后为第2类 第105组数据分类后为第3类 第106组数据分类后为第2类 第110组数据分类后为第3类 第113组数据分类后为第3类 第114组数据分类后为第2类 第115组数据分类后为第2类 第
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024成都工贸职业技术学院辅导员招聘笔试真题
- 2025年板栗机械化剥壳去衣机项目发展计划
- 第3课时 按比分配教案 人教版数学六年级上册
- 2024年新疆维吾尔自治区消防救援总队招录消防员真题
- 2025年内蒙古事业单位招聘考试笔试试题【答案】
- 消费信贷对消费行为的影响分析
- 消防员工作汇报
- 项目洞室开挖施工安全防护措施
- 电话客服实习报告范文4篇
- 2025年物理特性分析产品项目建议书
- 2024年绥阳县选聘城市社区工作者笔试真题
- 公文写作技能题库及答案
- 2025年广东省中考语文试卷真题(含答案解析)
- 辽宁省“三支一扶”招募考试真题2024
- 2025中国内地薪酬指南-kos高奥士国际-202506
- 2025广西专业技术人员公需科目培训考试答案
- 《呕吐的常见原因》PPT课件
- 春夏季传染病防治知识
- 机械制造企业安全检查表
- 第二章汽车车身常用材料学习教案
- 骨病病理知识
评论
0/150
提交评论