我想了解Caret控制设置的工作原理。我正在通过Caret控制功能使用交叉验证进行一些实验,例如
fitControl <- trainControl(## 10-fold CV
method = "repeatedcv",
number = 10,
## repeated ten times
repeats = 10)
或
control <- rfeControl(functions=rfFuncs, method="repeatedcv", number=5, repeats = 5)
我的问题是,如果我在进行实验之前设置一些种子数,即
set.seed(5432)
control <- trainControl(...)
results <- train(..., control)
...
每次运行实验时,是否保证每个折叠包含完全相同的样本?例如,假设我有id = {1:100}的样本并且使用Caret 10倍交叉验证,我的折叠是:fold1 = {1:10},fold2 = {11:20},...,fold10 = {91:100}。我的问题是,如果我使用相同的种子数重新运行实验,我的折叠仍然与之前的运行完全相同?
我知道设置种子数有助于重现性,但我只需要一个确认的答案就是这就是发生了什么。
非常感谢,
答案 0 :(得分:3)
有两种方法可以将种子设置为可重复性。
有关选项2的详细信息,请查看帮助,以及此SO question
有关详细信息,请参阅培训页面caret website,再现性说明
部分