有人可以验证算法进行10倍交叉验证吗?
我不想使用切割功能,因为我想到了这种直觉
1)查找数据帧的长度,n。
2)否:测试集中的实例size = floor(n/10)
3)从1:10循环到i
4)通过索引创建折叠;
a)第一次折叠数据框的indices=1:size
b)除了第10个以外的所有其他折叠的indices=((i - 1) * size + 1):(i * size)
c)第10次indices=((i - 1) * size + 1):(n)
test=df[indices,]
train=df[-indices,]
5)训练模型并找到每个折叠的MSE。
答案 0 :(得分:-2)
考虑一下Caret包。它会自动将数据集划分为培训和测试。见这里:
示例:
library(caret)
set.seed(325)
trainIndex <- createDataPartition(df$"Yourdata", p = .5,
list = FALSE,
times = 1)
p value
是用于培训的数据的百分比。
times value
指定您要创建的分区数。
Caret包的createFolds
命令可用于创建平衡的交叉验证分组。