Probabilistic class label for xgboost

I am trying to use class probability to train the model

clf = xgb.XGBClassifier(
                objective='binary:logistic', 
                num_class = 2)

It is giving the errors:

File ~/anaconda3/envs/xgb3_ray2_pytorch/lib/python3.8/site-packages/xgboost/sklearn.py:1440, in XGBClassifier.fit(self, X, y, sample_weight, base_margin, eval_set, eval_metric, early_stopping_rounds, verbose, xgb_model, sample_weight_eval_set, base_margin_eval_set, feature_weights, callbacks)
1435 expected_classes = np.arange(self.n_classes_)
1436 if (
1437 self.classes_.shape != expected_classes.shape
1438 or not (self.classes_ == expected_classes).all()
1439 ):
-> 1440 raise ValueError(
1441 f"Invalid classes inferred from unique values of y. "
1442 f"Expected: {expected_classes}, got {self.classes_}"
1443 )
1445 params = self.get_xgb_params()
1447 if callable(self.objective):

ValueError: Invalid classes inferred from unique values of y. Expected: [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
24 25 26 27 28 29], got [0. 0.06666667 0.13333333 0.2 0.26666667 0.33333333
0.4 0.6 0.6173913 0.63478261 0.65217391 0.66956522
0.68695652 0.70434783 0.72173913 0.73913043 0.75652174 0.77391304
0.79130435 0.80869565 0.82608696 0.84347826 0.86086957 0.87826087
0.89565217 0.91304348 0.93043478 0.94782609 0.96521739 1. ].

Could anyone please help how to solve this issue?

1 Like