欢迎来到天天文库
浏览记录
ID:52351666
大小:1010.09 KB
页数:3页
时间:2020-03-26
《基于R语言的k-最近邻法数字模式识别研究.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、应用技术与研究学术探讨2014年第8期基于R语言的k-最近邻法数字模式识别研究钟志强(鞍山师范学院物理科学与技术学院,辽宁鞍山114007)[摘要]k-最近邻法是常见的机器学习算法,R语言中通过kknn包完成算法实现,但其无法实现图像文件的处理。为此,本文先将图像文件转换成文本文件,再结合KNN算法对文件中数字图像进行模式识别。实验得出其判断结果达到了预期指标。[关键词]k-最近邻法;模式识别;R语言现以著名鸢尾花(iris)数据集实现算例:包含五个指标1.k-最近邻法原理花瓣长度(Petal.Length)、萼片宽度(S
2、epal.Width)、花瓣宽度k-最近邻法(k-nearestneighbor,KNN)是最简单的机器学(Petal.Width)、萼片长度(Sepal.Length)、三种花类型(Species:习算法之一,可以用于分类和回归。KNN认为,待分类对象setosa,versicolor,virginica)150笔记录。其结果见表1和图的类别可以通过在它附近的训练数据的类别来确定,所以采1。取的策略就是找到离待分类对象最近的K个邻居进行分析data(iris);m<-dim(iris)[1];val<-sample(1:
3、m,size=round[1]。将样本特征空间中的k个最相似的样本中的大多数划属(m/3),replace=FALSE,prob=rep(1/m,m));iris.learn<-iris[-某一个类别。KNN方法主要靠周围有限的邻近的样本,而val,];iris.valid<-iris[val,];iris.kknn<-kknn(Species~.,iris不是靠判别类域的方法来确定所属类别。KNN方法虽然从.learn,iris.valid,distance=1,kernel="triangular");summary原
4、理上也依赖于极限定理,但在类别决策时,只与极少量的(iris.kknn);fit<-fitted(iris.kknn);table(iris.valid$Species,相邻样本有关。因此对于类域的交叉或重叠采用较多的待fit)分样本集更为适合。搜索k个近邻算法的伪算法表示为:pcol<-as.character(as.numeric(iris.valid$Species));KNN(A[n],k),输入:A[n]为N个训练样本在空间中的坐标,kpairs(iris.valid[1:4],pch=pcol,col=c("g
5、reen3","red")[(iris为近邻数;输出:x所属的类别。取A[1]~A[k]作为x的初始.valid$Species!=fit)+1])近邻,for(i=k+1;i<=n;i++)计算a[i]与x间的距离d(x,A[i]);if(d(x,A[i]))6、j=1,..setosaversicolorvirginica.,i};计算前k个样本7、A[i]),i=1,2,...,k所属类别的概率,setosa1600versicolor0122具有最大概率的类别即为样本x的类。virginica01192.R语言KNN实现基本实例R是GNU系统的一个自由、免费、源代码开放的软件,主2.53.50.51.52.533333335.要用于统计分析与数据可视化。R语言使用起来简洁、直333333333722223332332223333222333335.23332333233336Sepal.Length322332223323232332观、灵活,随着大量新兴研究领域8、算法不断更新,R语言在机33221123312335.2211111122111225221111111122111112211111111115.器学习领域有广泛的应用。R语言中k-最近邻法常用包是11114111kknn。其使用函数为:kknn(formula=formula(train),train,113111311135.1111113111112332Sepal.Width111111223311112233322232231333333313333313333test,na.action=na.omit(),9、k=7,distance=2,kernel="optimal",122232331222333122233335.323332333233223322322332122122122222ykernel=NULL,scale=TRUE,contrasts=c('unordered'="contr33333
6、j=1,..setosaversicolorvirginica.,i};计算前k个样本
7、A[i]),i=1,2,...,k所属类别的概率,setosa1600versicolor0122具有最大概率的类别即为样本x的类。virginica01192.R语言KNN实现基本实例R是GNU系统的一个自由、免费、源代码开放的软件,主2.53.50.51.52.533333335.要用于统计分析与数据可视化。R语言使用起来简洁、直333333333722223332332223333222333335.23332333233336Sepal.Length322332223323232332观、灵活,随着大量新兴研究领域
8、算法不断更新,R语言在机33221123312335.2211111122111225221111111122111112211111111115.器学习领域有广泛的应用。R语言中k-最近邻法常用包是11114111kknn。其使用函数为:kknn(formula=formula(train),train,113111311135.1111113111112332Sepal.Width111111223311112233322232231333333313333313333test,na.action=na.omit(),
9、k=7,distance=2,kernel="optimal",122232331222333122233335.323332333233223322322332122122122222ykernel=NULL,scale=TRUE,contrasts=c('unordered'="contr33333
此文档下载收益归作者所有