【问题标题】:Eliminate iteration information text in caret R消除插入符号 R 中的迭代信息文本
【发布时间】:2020-10-12 19:00:39
【问题描述】:

我正在研究经典 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

我尝试使用suppressWarningssuppressMessagesfunctions 但迭代信息文本仍然出现。

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

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

【问题讨论】:

    标签: r r-caret gbm


    【解决方案1】:

    这应该可以解决问题:

    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.
    

    【讨论】:

    • 感谢您的时间和回答,它工作正常!你知道我试过knn,但不管是TRUE, FALSE or NULL,它都说something is wrong; all the Accuracy metric values are missing:。无论如何,它适用于 gbm
    • 嗨@Alexis,不客气。您在knn 中看到的那个错误不是输出而是错误消息。很可能您需要检查您是否正确训练了模型。您也可以将其作为问题发布,并附上可重复的示例...很可能还有其他 SO 用户可以帮助您:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-09
    • 1970-01-01
    • 1970-01-01
    • 2018-11-11
    相关资源
    最近更新 更多