我正在使用XGBoost并提前停止。在大约1000个时期之后,该模型仍在改进,但改进的幅度非常低。即:
clf = xgb.train(params, dtrain, num_boost_round=num_rounds, evals=watchlist, early_stopping_rounds=10)
是否可以设置" tol"提早停止?即:不触发早期停止所需的最低改进水平。
Tol是SKLearn模型中的常用参数,例如MLPClassifier和QuadraticDiscriminantAnalysis。谢谢。
答案 0 :(得分:1)
我认为xgboost中没有参数tol
,但您可以将early_stopping_round
设置得更高。此参数表示如果测试集上的性能在early_stopping_round
次没有改善,则会停止。如果您知道在1000个时期之后您的模型仍在改进但速度非常慢,请将early_stopping_round
设置为50,例如这样它将更多" tolerante"关于性能的微小变化。
答案 1 :(得分:0)