我有一些代码可以将多个(交叉验证的)模型与某些数据相匹配,如下所示。
library(datasets)
library(caret)
library(caretEnsemble)
# load data
data("iris")
# establish cross-validation structure
set.seed(32)
trainControl <- trainControl(method="repeatedcv",
number=5, repeats=3, # 3x 5-fold CV
search="random")
algorithmList <- c('lda', # Linear Discriminant Analysis
'rpart' , # Classification and Regression Trees
'svmRadial') # SVM with RBF Kernel
# cross-validate models from algorithmList
models <- caretList(Species~., data=iris, trControl=trainControl, methodList=algorithmList)
到目前为止,一切都很好。但是,如果我添加'gbm'
到我的algorithmList
,我会收到大量无关的日志消息,因为gbm
似乎有一个verbose=TRUE
默认的 fit 参数。
根据插入符号文档,如果我自己运行train
(method='gbm'
而不是与在 a 中训练的几个模型一起运行caretList
),我可以简单地添加verbose=FALSE
to train()
,这将流向gbm
. 但是当我在caretList
.
因此,我想将verbose=FALSE
(或理论上的任何其他适合参数)专门传递给caretList
's中的一个特定模型methodList
。我怎样才能做到这一点?