首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XGBRegressor比GradientBoostingRegressor慢得多

XGBRegressor比GradientBoostingRegressor慢得多
EN

Stack Overflow用户
提问于 2016-12-16 04:26:26
回答 1查看 2K关注 0票数 5

我对xgboost很陌生,并试图通过将它与传统的gbm进行比较来学习如何使用它。但是,我注意到xgboostgbm慢得多。例子是:

代码语言:javascript
复制
from sklearn.model_selection import KFold, GridSearchCV
from sklearn.ensemble import GradientBoostingRegressor
from xgboost import XGBRegressor
from sklearn.datasets import load_boston
import time

boston = load_boston()
X = boston.data
y = boston.target

kf = KFold(n_splits = 5)
cv_params = {'cv': kf, 'scoring': 'r2', 'n_jobs': 4, 'verbose': 1}

gbm = GradientBoostingRegressor()
xgb = XGBRegressor()

grid = {'n_estimators': [100, 300, 500], 'max_depth': [3, 5]}

timer = time.time()
gbm_cv = GridSearchCV(gbm, param_grid = grid, **cv_params).fit(X, y)
print('GBM time: ', time.time() - timer)

timer = time.time()
xgb_cv = GridSearchCV(xgb, param_grid = grid, **cv_params).fit(X, y)
print('XGB time: ', time.time() - timer)

在具有8个核的Macbook Pro上,输出如下:

代码语言:javascript
复制
Fitting 5 folds for each of 6 candidates, totalling 30 fits
[Parallel(n_jobs=4)]: Done  30 out of  30 | elapsed:    1.9s finished
GBM time:  2.262791872024536
Fitting 5 folds for each of 6 candidates, totalling 30 fits
[Parallel(n_jobs=4)]: Done  30 out of  30 | elapsed:   16.4s finished
XGB time:  17.902266025543213

我认为xgboost应该快得多,所以我肯定做错了什么。有人能帮我指出我做的不对吗?

EN

回答 1

Stack Overflow用户

发布于 2017-01-30 11:00:50

这是在我的机器上运行时的输出,没有在n_jobs中设置cv_params参数。

代码语言:javascript
复制
Fitting 5 folds for each of 6 candidates, totalling 30 fits
[Parallel(n_jobs=1)]: Done  30 out of  30 | elapsed:    4.1s finished
('GBM time: ', 4.248916864395142)
Fitting 5 folds for each of 6 candidates, totalling 30 fits
('XGB time: ', 2.934467077255249)
[Parallel(n_jobs=1)]: Done  30 out of  30 | elapsed:    2.9s finished

n_jobs设置为4时,输出为GBM的2.5s,但对于XGB则需要很长时间。

所以,也许这是n_jobs的一个问题!也许XGBoost库没有很好地配置为使用GridSearchCV运行n_jobs。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41177279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档