- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是新来的 xgboost
并试图通过将它与传统的 gbm
进行比较来学习如何使用它.但是,我注意到 xgboost
比gbm
慢得多.例子是:
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)
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
最佳答案
这是在我的机器上运行时的输出,没有设置n_jobs
cv_params
中的参数
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,输出为
2.5s GBM,但 XGB 需要很长时间。
关于scikit-learn - XGBRegressor 比 GradientBoostingRegressor 慢得多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41177279/
我一直在研究梯度提升回归树的“手卷”版本。我发现错误与 sklearn GradientBoostingRegressor 模块非常吻合,直到我将树构建循环增加到某个值以上。我不确定这是我的代码中的错
我在尝试训练 sklearn 的 GradientBoostingRegressor 并进行预测时遇到了奇怪的行为。我将举一个例子来演示缩小数据集上的问题,但问题仍然存在于更大的数据集上。我有以下 2
我是新来的 xgboost并试图通过将它与传统的 gbm 进行比较来学习如何使用它.但是,我注意到 xgboost比gbm慢得多.例子是: from sklearn.model_selection i
我正在使用已实现的监视器类 here class Monitor(): """Monitor for early stopping in Gradient Boosting for class
我正在参加 Kaggle 竞赛 (data here) ,我在使用 scikit-learn 的 GradientBoostingRegressor 时遇到了问题。比赛使用均方根误差 (RMLSE)
例如: params = {'n_estimators': 200, "max_depth": 4, 'subsample': 1, 'learning_rate': 0.1} boost = ens
gbm 的 Sklearn 支持 init 参数,它提供了一个选项来训练初始模型并使用 init 参数在另一个模型中传递它。 我正在尝试使用相同的概念进行回归。下面是我的代码。 gbm_base=Gr
我是一名优秀的程序员,十分优秀!