首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >KNN准确率为100%?

KNN准确率为100%?
EN

Stack Overflow用户
提问于 2017-07-29 04:49:46
回答 2查看 1.4K关注 0票数 0

我对KNN使用了以下代码

代码语言:javascript
复制
jd <- jobdata
   head (jd)
   jd$ipermanency rate= as.integer(as.factor(jd$ipermanency rate))
   jd$`permanency rate`=as.integer(as.factor(jd$`permanency rate`))
   jd$`job skills`=as.integer(as.factor(jd$`job skills`))
   jd$Default <- factor(jd$Default)
   num.vars <- sapply(jd, is.numeric)
   jd[num.vars] <- lapply(jd[num.vars], scale)
   jd$`permanency rate` <- factor(jd$`permanency rate`)
   num.vars <- sapply(jd, is.numeric)
   jd[num.vars] <- lapply(jd[num.vars], scale)
   myvars <- c("permanency rate", "job skills")
   jd.subset <- jd[myvars]
   summary(jd.subset)
   set.seed(123)
   test <- 1:100
   train.jd <- jd.subset[-test,]
   test.jd <- jd.subset[test,]
   train.def <- jd$`permanency rate`[-test]
   test.def <- jd$`permanency rate`[test]
   library(class)
   knn.1 <-  knn(train.jd, test.jd, train.def, k=1)
   knn.3 <-  knn(train.jd, test.jd, train.def, k=3)
   knn.5 <- knn(train.jd, test.jd, train.def, k=5)

但每当我计算k= 1,3和5的正确分类比例时,我总是得到100%的正确。这是正常的吗?还是我哪里出错了?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2018-04-04 13:36:25

我们不能说knn分类器总是产生错误的results.Actually,它是基于数据集的。在最好的情况下,训练数据可以等于测试数据,其中它总是产生100%的结果。

训练数据==测试数据-在所有情况下均可实现100%的效率

票数 0
EN

Stack Overflow用户

发布于 2019-12-07 07:16:52

仅当模型为过拟合情况时。这意味着模型不能捕获随机性,因此在训练数据上100%进行预测

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45382194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档