XGBoost 错误 - 未知目标函数 reg:squarederror

Ank*_*eth 9 regression python-3.x xgboost

我正在为回归任务训练 xgboost 模型,并传递了以下参数 -

params = {'eta':0.4, 'max_depth':5, 'colsample_bytree':0.6, 'objective':'reg:squarederror'}
num_round = 10
xgb_model = xgboost.train(params, dtrain_x, num_round)
Run Code Online (Sandbox Code Playgroud)

在训练阶段,我得到以下错误-

XGBoostError: b'[18:03:23] C:\Users\xgboost\src\objective\objective.cc:23: 未知目标函数 reg:squarederror'

而在docs 中,它显然是一个有效的目标函数。谁能告诉我为什么我会收到这个错误?

信息-我在 Windows 上使用 python 3.7.3,xgboost 版本是 0.82

小智 5

xgb_model = xgboost.train(**params, dtrain_x, num_round)
Run Code Online (Sandbox Code Playgroud)

这适用于所有版本。**kwargs这是作为字典传递的方式。

**(双星/星号)和*(星/星号)对参数有何作用?

  • 这在任何版本中都不起作用,因为 python 不允许在位置参数之前使用关键字参数。 (2认同)