R语言使用knn算法后不管k值取多少误分率一直是0.08333333是为什么

 n.points<-100
 sampling.rate<-0.8
num.test.set.labels<-n.points*(1-sampling.rate)
 training<-sample(1:n.points,sampling.rate*n.points,replace = FALSE)
 O<-read.xlsx("6.xlsx")
training<-sample(1:n.points,sampling.rate*n.points,replace = FALSE)
 train <- subset(O[training,], select = c(A,B,C,D,E,F,G,H,I,J))
testing <- setdiff(1:n.points, training)
 test <- subset(O[testing, ], select = c(A,B,C,D,E,F,G,H,I,J))
 cl<-O$L[training]
 true.labels<-O$L[testing]
for (k in 1:20) {
+     print(k)
+     predicted.labels <- knn(train, test, cl, k)
+     num.incorrect.labels <- sum(predicted.labels != true.labels)
+     misclassification.rate <- num.incorrect.labels /
+         num.test.set.labels
+     print(misclassfication.rate)}

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。


因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。