After training my CatBoostClassifier model I call get_proba function which returns me list of probabilities. The problem starts from an another point... I transfer that data into dataframe then to Excel after what I sum all float numbers in my list and get numbers approximately equal to 2.
(Example: 0,980831511 0,99695788 2,99173E-13 1,63919E-15 7,35072E-14 4,82846E-16
. Their sum is equal to 1,977789391
)
Parameters which were used:
'loss_function': 'MultiClassOneVsAll',
'eval_metric': 'ZeroOneLoss',
The problem is that I need to get dependant type of probabilities, so I get something more like: 0.2 0.5 0.1 0.2
where their sum will be equal to 1
and the highest probability (which might be obvious) is in the second category (which equals to 0.5
)
MultiClassOneVsAll
? Normally this means that you're doing multi-label classification, not multiclass classification. As a result, the classes are predicted independently from each other. If you want to obtain dependent posterior probabilities and a single class predicted for each instance, you should used the standard multiclass setting (one vs rest). $\endgroup$