2017-05-04 17 views
2

我在早期停止時使用XGBoost。大約1000年後,模型仍在改進,但改善的幅度非常低。 I .: .:爲XGBoost提前停止設置Tolt

clf = xgb.train(params, dtrain, num_boost_round=num_rounds, evals=watchlist, early_stopping_rounds=10) 

是否可以設置「tol」來提前停止?即:不觸發早期停車所需的最低程度的改善。

Tol是SKLearn模型中的常用參數,例如MLPClassifier和QuadraticDiscriminantAnalysis。謝謝。

回答

1

我不認爲在xgboost中有參數tol,但是您可以將early_stopping_round設置得更高。這個參數意味着如果測試集的性能沒有提高early_stopping_round次,那麼它停止。如果你知道在1000個紀元後,你的模型仍然在改善,但是非常緩慢,例如設置爲early_stopping_round爲50,所以它會更「容忍」關於性能的小變化。