交叉验证代码

时间:2018-02-09 22:28:21

标签: r validation

有人可以验证算法进行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。

1 个答案:

答案 0 :(得分:-2)

考虑一下Caret包。它会自动将数据集划分为培训和测试。见这里:

Caret Package

示例:

library(caret)
set.seed(325)
trainIndex <- createDataPartition(df$"Yourdata", p = .5, 
                                  list = FALSE, 
                                  times = 1)

p value是用于培训的数据的百分比。

times value指定您要创建的分区数。

Caret包的createFolds命令可用于创建平衡的交叉验证分组。