R xgboost 预测 early.stop.round
R xgboost predict with early.stop.round
我有以下代码。假设优化在 600 轮后停止,最佳轮数为 450 轮。将使用哪个模型进行预测 - 第 450 轮后还是第 600 轮后?
watchlist <- list(val=dval,train=dtrain)
param <- list( objective = "binary:logistic",
booster = "gbtree",
eval_metric = "auc",
eta = 0.02,
max_depth = 7,
subsample = 0.6,
colsample_bytree = 0.7
)
clf <- xgb.train( params = param,
data = dtrain,
nrounds = 2000,
verbose = 0,
early.stop.round = 150,
watchlist = watchlist,
maximize = TRUE
)
preds <- predict(clf, test)
经过一番研究,我自己找到了答案。预测将在第 600 轮后使用模型。如果想使用效果最好的模型,应该使用 preds <- predict(clf, test, ntreelimit=clf$bestInd)
我有以下代码。假设优化在 600 轮后停止,最佳轮数为 450 轮。将使用哪个模型进行预测 - 第 450 轮后还是第 600 轮后?
watchlist <- list(val=dval,train=dtrain)
param <- list( objective = "binary:logistic",
booster = "gbtree",
eval_metric = "auc",
eta = 0.02,
max_depth = 7,
subsample = 0.6,
colsample_bytree = 0.7
)
clf <- xgb.train( params = param,
data = dtrain,
nrounds = 2000,
verbose = 0,
early.stop.round = 150,
watchlist = watchlist,
maximize = TRUE
)
preds <- predict(clf, test)
经过一番研究,我自己找到了答案。预测将在第 600 轮后使用模型。如果想使用效果最好的模型,应该使用 preds <- predict(clf, test, ntreelimit=clf$bestInd)