模式识别(K近邻算法).doc

模式识别(K近邻算法).doc

ID:51910060

大小:48.00 KB

页数:2页

时间:2020-03-18

模式识别(K近邻算法).doc_第1页
模式识别(K近邻算法).doc_第2页
资源描述:

《模式识别(K近邻算法).doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、K近邻算法1.算法思想取未知样本的x的k个近邻,看这k个近邻中多数属于哪一类,就把x归于哪一类。具体说就是在N个已知的样本中,找出x的k个近邻。设这N个样本中,来自类的样本有个,来自的样本有个,...,来自类的样本有个,若分别是k个近邻中属于类的样本数,则我们可以定义判别函数为:决策规则为:若,则决策2.程序代码%KNN算法程序functionerror=knn(X,Y,K)%error为分类错误率data=X;[M,N]=size(X);Y0=Y;[m0,n0]=size(Y);t=[123];%3类向量ch

2、=randperm(M);%随机排列1—Merror=0;fori=1:10Y1=Y0;b=ch(1+(i-1)*M/10:i*M/10);X1=X(b,:);X(b,:)=[];Y1(b,:)=[];c=X;[m,n]=size(X1);%m=15,n=4[m1,n]=size(c);%m1=135,n=4forii=1:mforj=1:m1ss(j,:)=sum((X1(ii,:)-c(j,:)).^2);end[z1,z2]=sort(ss);%由小到大排序hh=hist(Y1(z2(1:K)),t);[

3、w,best]=max(hh);yy(i,ii)=t(best);%保存修改的分类结果enderror=error+sum(Y0(b,:)~=yy(i,:)');X=data;enderror=error/M;%算法主程序:clcclearallloadiris.mat%iris.mat中存放X为150*4的iris数据,Y为150*1的分类结果,以下均使用该数据n=0;fori=1:10error=knn(X,Y,1);n=n+error;endcorrect=1-n/103.程序运行结果做十折交叉验证得到:

4、当K=1时,正确分类概率为:0.9587当K=3时,正确分类概率为:0.9613当K=5时,正确分类概率为:0.9640当K=7时,正确分类概率为:0.9653当K=10时,正确分类概率为:0.9667当K=30时,正确分类概率为:0.9480当K=60时,正确分类概率为:0.90274.结果分析从以上的结果我们可以看出当k较小时,随着k的增加,其正确分类的概率也逐渐增加;然而当k增加到一定的值时,即k取较大的值时,随着k的增加,其正确率并没有随之增加,反而大大降低了。因此在实际中选择K的值时应慎重考虑,结合实

5、际结果,选取合适的K值。

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

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

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