R中createFolds的随机样本

R中createFolds的随机样本,r,cross-validation,R,Cross Validation,我想把我的数据集分成30倍。因此,我在R.Iset.seed中使用了createfold函数,该函数来自caret包,以获得可重复的结果 现在,我想要20个不同的随机样本。换句话说,20个不同的30倍。因此,我需要更改set.seed20次 有没有办法让这更容易 wdbcc=as.data.frame(scale(wdbc)) set.seed(12345) k = 30 folds <- createFolds(wdbcc$PE, k = k, list

我想把我的数据集分成30倍。因此,我在R.I
set.seed
中使用了
createfold
函数,该函数来自
caret
包,以获得可重复的结果

现在,我想要20个不同的随机样本。换句话说,20个不同的30倍。因此,我需要更改
set.seed
20次

有没有办法让这更容易

    wdbcc=as.data.frame(scale(wdbc))
    set.seed(12345)
    k = 30
    folds <- createFolds(wdbcc$PE, k = k, list = TRUE, returnTrain = TRUE)
然后,我将在折叠拆分为

 lm = list()
        for (i in 1:k) {
          lm[[i]] = lm(PE~ ., data = wdbcc[folds[[i]],])
        }
然后,我将使用相同的想法,但将set.seed更改为(123456)而不是(12345),并在此基础上构建模型

我需要用不同的种子做20次。每次都要在不同的set.seed上构建模型

EDIT2


简单地说,如果我有30倍,我将在这30倍上建立线性回归,因此我将有30个模型结果。我需要有相同的过程,但有不同的30次折叠(20次,20次中的每一次我有不同的30次),因此,我将在30次不同的折叠上每次构建20次的模型。

folds
foldscreateFolds可能无法按预期工作:

folds <- replicate(20,createFolds(wdbcc$PE, k = k, list = FALSE, returnTrain = TRUE))
folds <- replicate(20,createFolds(wdbcc$PE, k = k, list = FALSE, returnTrain = TRUE))

foldscreateFolds可能无法按预期工作:

folds <- replicate(20,createFolds(wdbcc$PE, k = k, list = FALSE, returnTrain = TRUE))

folds@ser2974951,谢谢,但我需要指定我的set.seed,因为我的想法是使用20个随机样本的每30倍进行不同的线性回归。@jeza我不明白,你想为20个重采样中的每一个使用特定的set.seed吗?或者你只是想要种子样本?如果第二个,那么我的代码将实现这一点,如果你使用一个特定的种子,你将始终得到与我的代码相同的结果。谢谢,但这并没有给我我需要的想法。简单地说,如果我有30倍,我将在这30倍上建立线性回归,因此我将有30个模型结果。我需要有相同的过程,但有不同的30次折叠(20次,20次中的每一次我有不同的30次),所以,我将在30次不同的折叠上每次构建20次的模型。@jeza如果新的编辑没有回答你的问题,那么我不知道会发生什么。我已经给了你足够的提示,你应该可以从这里开始。@jeza你真的需要有30套不同的折叠,还是仅仅30套不同的折叠?我问,因为有30个不同的种子用于30组不同的褶皱可能不仅没有必要,而且不再是随机的(而是伪随机的)。有关更详细的解释,请参阅此Stata指南中的等效命令,p3“不要太频繁地设置种子”:@ser2974951,谢谢,但我需要指定我的set.seed,因为我的想法是使用20个随机样本中的每30倍进行不同的线性回归。@jeza我不明白,是否要为20个重采样中的每个重采样使用特定的set.seeds?或者你只是想要种子样本?如果第二个,那么我的代码将实现这一点,如果你使用一个特定的种子,你将始终得到与我的代码相同的结果。谢谢,但这并没有给我我需要的想法。简单地说,如果我有30倍,我将在这30倍上建立线性回归,因此我将有30个模型结果。我需要有相同的过程,但有不同的30次折叠(20次,20次中的每一次我有不同的30次),所以,我将在30次不同的折叠上每次构建20次的模型。@jeza如果新的编辑没有回答你的问题,那么我不知道会发生什么。我已经给了你足够的提示,你应该可以从这里开始。@jeza你真的需要有30套不同的折叠,还是仅仅30套不同的折叠?我问,因为有30个不同的种子用于30组不同的褶皱可能不仅没有必要,而且不再是随机的(而是伪随机的)。有关更详细的解释,请参阅此Stata指南中的等效命令,p3“不要太频繁地设置种子”:您可以添加最小可重复性示例吗?此外,
createFolds()
函数从何而来?“据我所知,这不是基本的R”。@Georgery,我编辑了这个问题。你能添加一个最小的可重复的例子吗?此外,
createFolds()
函数从何而来?“据我所知,这不是一个基本的R。”乔治里,我编辑了这个问题。
folds <- replicate(20,createFolds(wdbcc$PE, k = k, list = FALSE, returnTrain = TRUE))