【发布时间】:2021-06-17 01:11:18
【问题描述】:
我对机器学习相当陌生,我目前正在尝试使用 R 中的 caret 和 randomForest 包实现随机森林分类。我正在使用带有重复交叉验证的 trainControl 函数。也许这是一个愚蠢的问题,但据我所知,随机森林通常使用 bagging 将训练数据拆分为不同的子集,并使用 1/3 作为计算 OOB 的验证集。但是,如果您指定要使用 k 折交叉验证会发生什么?从插入符号文档中,我假设它仅使用交叉验证进行重采样,但如果它仅使用交叉验证,为什么仍然会出现 OOB 错误?或者bagging仍然用于模型的创建和性能评估的交叉验证?
TrainingControl <- trainControl(method = "repeatedcv", number = 10, repeats = 3, savePredictions = TRUE, classProbs = TRUE, search = "grid")
train(x ~ ., data = training_set,
method = "rf",
metric = "Accuracy",
trControl = TrainingControl,
ntree = 1000,
importance = TRUE
)
【问题讨论】:
标签: r random-forest cross-validation r-caret