XGBOOST(sklearn 接口)回归错误

数据挖掘 Python scikit-学习 xgboost 超参数调整 网格搜索
2022-02-13 04:13:02

我正在尝试在 XGBRegressor 上运行 GRIDSEARCHCV (sklearn)。关于参数的文档说,如果回归,那么objective = reg:squarederror。(请参阅https://github.com/dmlc/xgboost/tree/master/demo/regression)但是,每当我尝试运行搜索时,我都会收到一条错误消息XGBoostError: b'[13:39:54] src/objective/objective.cc:23: Unknown objective function reg:squarederror.

我不知道如何解决这个问题。为了完整起见,下面是我为此目的使用的一段代码。

cv_params = {
             'n_estimators' : np.arange(100, 1201, 100),
             'max_depth' : np.arange(2, 10)
             }

xgbr_params = {'objective':'reg:squarederror','n_jobs':-1,'random_state':4444,'min_child_weight':1,
              'eta':0.3,'subsample':0.8,'gamma':0.5,'colsample_bytree':0.8}


opt_xgbr = GridSearchCV(xgb.XGBRegressor(**xgbr_params)
                              ,param_grid=cv_params,scoring='r2',cv=5,n_jobs=-1,return_train_score=True, verbose=3)

任何帮助将不胜感激。

谢谢

1个回答

升级您的 xgboost 版本。reg:squarederror在 0.83 版本中添加

(在 0.82 或更低版本中,使用reg:linear

一般来说,XGBoost 支持信息位于https://discuss.xgboost.ai/