(错误)在执行交叉验证时为xgboost静默输出

时间:2016-12-29 19:02:06

标签: r cross-validation xgboost

我正在使用R中的xgboost进行交叉验证。我有一个Windows 10系统并使用3.3.2。对于我的一些运行,在满足我的早期停止要求之前需要进行多次迭代。所以,我希望减少控制台中吐出的行数。

我已经尝试了silent=1,它无法使控制台中的输出静音,verbose_eval=50无法限制控制台中的输出,最后verbose_eval=False会出现以下错误消息并停止终止:

Error in check.deprecation(...) : object 'False' not found

我想最后一个可能只在Python中有效,而且可能是错误的来源。不过,我尝试的其他两种方法并没有减少输出到控制台。

我的代码显示我如何应用这些:

for (eta in seq(0,1,0.1)) {
    param <- list(objective = "reg:linear", val_metric = "rmse", eta = eta, booster = "dart")
    mdcv <- xgb.cv(param = param, data = sapply(train[1:80], as.numeric),   label = as.numeric(unlist(train[81])), verbose_eval=50, nfold = 10, nrounds = 30000, early_stopping_rounds = 8)
    min_rmse <- mdcv[[4]][mdcv$best_iteration]$test_rmse_mean
    print(paste(eta, ' ', min_rmse))
}

0 个答案:

没有答案