具有可重现性的 R 插入符号 outcome/results

R caret with reproducible outcome/results

我正在使用 R 中的 caret 包进行一些受监督的多变量分析。我正在尝试向我的脚本添加一些功能,以便在脚本为 运行.

时允许可重现的结果

我有这个设置来使用 2 个分类模型(每个模型都是 运行 单独的,而不是作为一个整体):

library(caret)

load.data = ....
cleaned.data = cleaning(load.data)
mycontrol = trainControl(...)
train, test = createDatapartition(...)

model1 = train(...,
               data=train, ...,
               trControl=mycontrol,
               preprocess=c('center'))
model2 = train(...,
               data=train, ...,
               trControl=mycontrol,
               preprocess=c('pca'))

feature.importances = ...
summary(resamples(list(m1=model1,m2=model2)))
learing_curve_dat(...) #see link 1. below.
predict()
Evaluate(....) #see link 2. below

为了在每次脚本为 运行 时获得可重现的结果,我应该在此管道中的什么地方使用 set.seed(#) and what should # - 或者我只是随机选择 # 的任何值?

链接:

1. 2.

您应该阅读软件包网页上的 Notes on Reproducibility 部分。

种子号无关紧要。我用 sample.int(100000, 1) 生成了一个。根据你如何做模型,你至少应该在调用 train 之前设置种子(但请阅读上面的 link)。