全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1263 0
2017-12-08
定义函数,函数的参数为样本数据集data,样本的类别向量cl,k折交叉验证法的k值kf。该函数使用k折交叉验证法计算最佳k值(1-101之间的奇数),该函数具有通用性,可以计算任何数据集的最佳knn模型,以及其最佳准确率。
求问各位我的函数编写出了什么问题?
myknnCV<-function(data,cl,kf){
  folds<-createFolds(y=train$y,k=kf)
  A<-data
  k_values<-seq(1,101,by=2)
  for(i in length(k_values)){
    p.51=rep(0,times=51)
    for(j in 1:kf){
      A.test=A[folds[[j]],]
      A.train=A[-folds[[j]],]
      set.seed(1)
      knn.pred<-knn(A.train,A.test,A.train$data,k=k_values[j])
      p.51[j]=mean(knn.pred==A.test$data)
    }
    knn.p<-mean(p.51)
  }
  print(paste("kv=",k_values[which.max(knn.p)]))
  print(paste0("ar=",knn.p[which.max(knn.p)]))
}

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群