1304 0

[有偿编程] r 语言函数编写 [推广有奖]

  • 0关注
  • 0粉丝

学前班

50%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
20 点
帖子
1
精华
0
在线时间
1 小时
注册时间
2017-12-8
最后登录
2017-12-10

楼主
赵赵赵就可以 发表于 2017-12-8 21:53:41 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
定义函数,函数的参数为样本数据集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)]))
}

二维码

扫码加我 拉你入群

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

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

关键词:交叉验证 样本数据 函数使用 Data knn

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 23:14