我正在为回归任务训练一个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)
在培训阶段,我收到以下错误-
XGBoostError:b'[18:03:23] C:\ Users \ xgboost \ src \ objective \ objective.cc:23:未知的目标函数reg:squarederror'
尽管在docs中,它显然是有效的目标函数。谁能告诉我为什么会收到此错误?
信息-我正在Windows上使用python 3.7.3,而xgboost版本是0.82
答案 0 :(得分:0)
xgb_model = xgboost.train(**params, dtrain_x, num_round)
这将适用于所有版本。这是将**kwargs
作为字典传递的方式。
What does ** (double star/asterisk) and * (star/asterisk) do for parameters?