我看到一些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
应该相等,对吗?
答案 0 :(得分:5)
是的,它们是相同的,都引用相同的参数(see the docs here或the github issue)。
使用不同名称的原因是因为xgb.XGBRegressor
是scikit-learn API的实现;并且scikit-learn通常使用n_estimators
来指代提升阶段的数量(例如GradientBoostingClassifier)