千家信息网

如何理解R语言分类算法中的距离判别

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,如何理解R语言分类算法中的距离判别,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.距离判别原理分析根据待判定样本与已知类别样本之间的距
千家信息网最后更新 2026年10月31日如何理解R语言分类算法中的距离判别

如何理解R语言分类算法中的距离判别,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

1.距离判别原理分析
根据待判定样本与已知类别样本之间的距离远近做出判断.根据已知类别样本信息建立距离判别函数式,再将各待判定样本的属性数据逐一代入式中计算,得到距离值,再根据此将样本判入距离值最小的类别的样本簇.
K最近邻算法则是距离判别法中使用最为广泛的,他的思路是如果 一个样本在特征空间中的K个最相似/最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别.
图中3个实心表示样本点,其周围分布着若干分别用圆形,三角形,正方形空心点表示出的三种已知类别的样本点.现在我们取K=5,即圈出与待分类样本点最相近的5个样本点,然后查看他们的类别.这5个点中属于哪个类别的样本多,该未知样本就属于哪个类别.易得未知样本(从左到右)依次属于圆形,三角形,正方形.
K最近邻方法进行判别时,由于其主要依靠周围有限邻近样本的信息,而不是靠判别类域的方法来确定所属类别,因此对于类域的交叉或重叠较多的待份样本集来说,该方法较其他方法更为合适.

2.在R语言中的应用
在K最近邻(K-Nearest Neighbor,KNN)算法中我们主要用到了class包里面的
knn(train,test,cl,k=1,1=0,prob=FALSE,use.all=TRUE)函数。
而在有权重的k最近邻(Weighted K-NearestNeighbor,KKNN)我们主要用到了kknn包里的
kknn(formula=formula(train),train,test,na.action=na.omit(),k=7,distance=2,kernel="optimal",ykernel=NULL,scale=TRUE,contrasts=c('unordered'="contr.dummy",ordered="contrl.rodinal"))函数。
3.以iris数据集为例进行判别分析
1)应用模型并观察输出结果

library(kknn)fit_pre_kknn=kknn(Species~.,data_train,data_test[,-5],k=5)fit_pre_kknn[1:length(fit_pre_kknn)]




2)检测模型准确度

table(data_test$Species, fit_pre_kknn$fitted.values)sum(as.numeric(as.numeric(fit_pre_kknn $fitted.values)!=as.numeric(data_test$Species)))/nrow(data_test)

看完上述内容,你们掌握如何理解R语言分类算法中的距离判别的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

样本 类别 判别 方法 近邻 算法 语言 分类 函数 三角形 信息 内容 圆形 数据 更多 模型 正方 正方形 问题 三角 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网是第几次科技革命的成果 江苏根荣互联网科技 中国互联网科技工作委员会毛军 金融科技还是互联网 金融科技创新监管互联网金融 深圳互联网络科技有限公司 互联网科技集团 互联网金融科技平台 丰台科技园 互联网 上海亿帐通互联网科技 互联网金融科技委员会 互联网 科技馆 阿里巴巴算科技企业还是互联网 移动互联网科技股 千方科技属于互联网企业吗 互联网科技数字货币 吉林省码上互联网科技电话 万物互联网智能科技 北京天晋互联网科技有限公司 互联网科技创业计划的风险分析 瑰夏咖啡 河南云网互联网络科技有限公司 哈尔滨新华互联网科技学院 花神(南京)互联网科技有限公司 青岛科技大学互联网大赛研究生 苏州铭阳互联网科技有限公司 中国科技创新与世界互联网大会 互联网新科技动漫ppt素材 伍佰万互联网科技怎么赚钱 伍佰万互联网科技是干嘛的
0