web-dev-qa-db-ja.com

num_boost_roundとn_estimatorsの違いは何ですか

いくつかのxgboostメソッドがパラメータnum_boost_round、 このような:

model = xgb.cv(params, dtrain,  num_boost_round=500, early_stopping_rounds=100)

しかし、他の人はn_estimators このような:

model_xgb = xgb.XGBRegressor(n_estimators=360, max_depth=2, learning_rate=0.1)

私が理解している限り、ブースティングが適用されるたびに、新しい推定量が作成されます。それは正しくありませんか?

その場合、数字num_boost_roundおよびn_estimatorsは等しいはずですよね?

14
octavian

はい、どちらも同じです。どちらも同じパラメータを参照しています( こちらのドキュメントを参照 、または githubの問題 )。

名前が異なるのは、xgb.XGBRegressorはscikit-learn APIの実装です。とscikit-learnは従来、n_estimatorsブースティングステージの数を参照します(例 GradientBoostingClassifier

1
Tin Lai