num_boost_round和n_estimators有什么区别

问题描述 投票:14回答:1

我看到某些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_roundn_estimators应该相等,对吧?

python xgboost
1个回答
0
投票
是的,它们是相同的,都引用相同的参数(see the docs herethe github issue)。

之所以使用不同的名称,是因为xgb.XGBRegressor是scikit-learn API的实现; scikit-learn通常使用n_estimators来指代提升阶段的数量(例如GradientBoostingClassifier

© www.soinside.com 2019 - 2024. All rights reserved.