我正在尝试使用 sklearn
提供的 XGBClassifier
包装器解决多类问题。我的类是 [0, 1, 2],我使用的目标是 multi:softmax
。当我尝试拟合分类器时,我得到了
xgboost.core.XGBoostError: value 0for Parameter num_class should be greater equal to 1
如果我尝试设置 num_class 参数,我会得到错误
got an unexpected keyword argument 'num_class'
Sklearn 会自动设置这个参数,所以我不应该传递那个参数。但为什么会出现第一个错误?
最佳答案
您需要手动添加参数num_class
到xgb_param
# Model is an XGBClassifier
xgb_param = model.get_xgb_params()
xgb_param['num_class'] = 3
cvresult = xgb.cv(xgb_param, ...)
如果您使用 fit
方法,XGBClassifier 会自动设置此值,但不会在 cv
方法中设置
关于python - 参数 num_class 的 xgboost sklearn 包装器值 0 应大于等于 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40116215/