【发布时间】:2021-04-27 10:06:58
【问题描述】:
我有一个在 R 中实现 K 折交叉验证的代码:
set.seed(123)
y = rnorm(100,0,1)
x1 = rnorm(100,0,1)
x2 = rnorm(100,0,1)
x3 = rnorm(100,0,1)
x4 = rnorm(100,0,1)
x5 = rnorm(100,0,1)
data = data.frame(y,x1,x2,x3,x4,x5);head(data)
# create k = 10 fold cross validation
folds = cut(seq(1,nrow(data)),breaks=10,labels=FALSE)
# perform the cv
for(i in 1:10){
fold = which(folds==i,arr.ind=TRUE)
testData = data[fold, ]
trainData = data[-fold, ]
}
R 是否有更快的方法来实现这个 k-fold cv 并避免 for 循环?
【问题讨论】: