消除插入符号 R 中的迭代信息文本

Eliminate iteration information text in caret R

我正在研究经典 Iris 数据集上的一些 ML 算法。这是我的代码:

library(tidyverse)
library(caret)

dataset <- iris
tt_index <- createDataPartition(dataset$Sepal.Length, times = 1, p = 0.9, list = FALSE)
train_set <- dataset[tt_index, ]
test_set <- dataset[-tt_index, ]

model_glm <- train(Species ~., 
                   data = train_set,
                   method = "gbm")

我的问题是像 gbm 这样的复杂方法会显示迭代文本信息,如下所示:

Iter   TrainDeviance   ValidDeviance   StepSize   Improve
     1        1.0986             nan     0.1000    0.3942
     2        0.8415             nan     0.1000    0.2644
     3        0.6641             nan     0.1000    0.1963
     4        0.5333             nan     0.1000    0.1489
     5        0.4325             nan     0.1000    0.1091

我尝试使用 suppressWarningssuppressMessages 函数,但迭代信息文本仍然出现。

suppressMessages(model_glm <- train(Species ~., 
                   data = train_set,
                   method = "gbm"))

请问,您知道如何避开该信息文本吗?任何帮助将不胜感激。

这应该可以解决问题:

model_glm <- train(Species ~., 
                   data = train_set,
                   method = "gbm",verbose=FALSE)

说明,在插入符调用的gbm()里面,有一个选项可以设置verbose=FALSE,这样就不会打印训练信息了。这些附加参数可以传递给 gbm() 或任何其他调用的模型函数,通常称为 ... ,您可以在小插图中看到它:

...: Arguments passed to the classification or regression routine
      (such as ‘randomForest’). Errors will occur if values for
      tuning parameters are passed here.