我在db中有一个数据集,其中包含行列表, 我想使用平衡的数据进行十次交叉验证。 所以我用了这个功能:
cvIndex <- createFolds(factor(df$BS), folds, returnTrain = T)
它返回十个平衡折痕的索引进行训练。
for i in n seq_along(cvIndex)) {
trainIndex <- cvIndex[[i]]
testIndex <- ???
我想给testIndex缺少用于训练的索引。
答案 0 :(得分:0)
我建议使用“插入符”库中的trainControl函数来实现k倍交叉验证。例如,使用以下命令,您可以将10倍的corss-validation设置为训练和测试方法。
control <-trainControl(method =“ cv”,number = 10)
答案 1 :(得分:0)
我解决了这个问题,我真的建议在平衡的10次交叉验证中使用该功能,
all_index<-c(1:nrow(df))
testIndex<-setdiff(all_index,trainIndex)
那你就用
trainset <- df[trainIndex, ] # Set the training set
testset <- df[testIndex, ] # Set the validation set