xgboost sklearn wrapper value 0for Parameter num_class should be greater equal to 1
python, scikit-learn, xgboost
Solution
You need to manually add the parameter `num_class` to the xgb_param
# Model is an XGBClassifier
xgb_param = model.get_xgb_params()
xgb_param['num_class'] = 3
cvresult = xgb.cv(xgb_param, ...)
The XGBClassifier does set this value automatically if you use its `fit` method, but does not in the `cv` method
Problem
I am trying to use the `XGBClassifier` wrapper provided by `sklearn` for a multiclass problem. My classes are [0, 1, 2], the objective that I use is `multi:softmax`. When I am trying to fit the classifier I get xgboost.core.XGBoostError: value 0for Parameter num_class should be greater equal to 1 If I try to set the num_class parameter the I get the error got an unexpected keyword argument 'num_class' Sklearn is setting this parameter automatically so I am not supposed to pass that argument. But why do I get the first error?