Xgboost交叉验证模型访问

时间:2016-09-19 13:07:51

标签: python data-science xgboost

我有什么方法可以直接从xgboost访问经过培训的xgboost.cv模型吗?或者,在这种情况下,我是否需要手动循环折叠并执行拟合?

xgb.cv(param, dtrain, num_round, nfold = 5, seed = 0,
       obj = logregobj, feval=evalerror)

1 个答案:

答案 0 :(得分:1)

首先,您在指示时交叉验证xgboost:

xgb.cv_m <- xgb.cv(param, dtrain, num_round, nfold = 5, seed = 0, obj = logregobj, feval=evalerror)

然后,所需的轮数对应于最佳AUC(AUC训练和测试手段以及交叉验证产生的std保存在数据框'dt'中 - 检查names(xgb_cv_m)):

nr <- which(xgb_cv_m$dt$test.auc.mean == max(xgb_cv_m$dt$test.auc.mean))

接下来,当您使用'xgboost'调整最终模型时,使用nrounds = nr

如果您愿意,您还可以通过以下方式直观地检查每一轮的表现:plot(xgb_cv_m$dt$test.auc.mean)

相关问题