何时在R中的插入符号包中使用train()的索引和种子参数

何时在R中的插入符号包中使用train()的索引和种子参数,r,parallel-processing,machine-learning,data-mining,r-caret,R,Parallel Processing,Machine Learning,Data Mining,R Caret,主要问题: 在阅读了文档和谷歌搜索之后,我仍然不知道在什么情况下建议预先定义重采样索引,例如: resamples <- createResample(classVector_training, times = 500, list=TRUE) seeds <- vector(mode = "list", length = 501) #length is = (n_repeats*nresampling)+1 for(i in 1:501) seeds[[i]]<- sampl

主要问题:

在阅读了文档和谷歌搜索之后,我仍然不知道在什么情况下建议预先定义重采样索引,例如:

resamples <- createResample(classVector_training, times = 500, list=TRUE)
seeds <- vector(mode = "list", length = 501) #length is = (n_repeats*nresampling)+1
for(i in 1:501) seeds[[i]]<- sample.int(n=1000, 1) 

resamples这里使用随机数的次数不同,因此我将尝试具体说明哪些种子

由于已设置种子,是否不需要预定义重采样

如果您不提供自己的重采样索引,
train
rfe
sbf
gafs
safs
首先要做的就是创建它们。因此,在调用这些之前设置总种子,可以控制创建重采样的随机性。因此,您可以重复调用这些函数,并使用预先设置主种子的相同示例:

set.seed(2346)
mod1 <- train(y ~ x, data = dat, method = "a", ...)

set.seed(2346)
mod2 <- train(y ~ x, data = dat, method = "b", ...)

set.seed(2346)
mod3 <- rfe(x, y, ...)
set.seed(2346)

mod1 SO领主希望我们使用标签
R-caret
或者使用
floor(9480^0.5)
来获得一个整数.Minor项,但我认为您尝试键入
set.seed
而不是
set.sedd
。除非那里有我以前没听说过的电话。。。
borutaControl <- trainControl(method="bootstrap", number = 500, p = 0.7, returnData=TRUE, returnResamp = "all", savePredictions=TRUE, classProbs = TRUE, summaryFunction = twoClassSummary, allowParallel=TRUE)
borutaTrain <- train(x = training, y = classVector_training, method = "Boruta", trControl = borutaControl, tuneGrid = mtryGrid)
Error in names(trControl$indexOut) <- prettySeq(trControl$indexOut) : 'names' attribute [1] must be the same length as the vector [0]
set.seed(2346)
mod1 <- train(y ~ x, data = dat, method = "a", ...)

set.seed(2346)
mod2 <- train(y ~ x, data = dat, method = "b", ...)

set.seed(2346)
mod3 <- rfe(x, y, ...)