I am looking for some comprehensive instructions and ideally out of the box solutions (ideally for python) for evaluating different classifiers (which are already trained) for a multiclass classification problem on an unbalanced dataset.
To illustrate further: I have about a dozen classifiers that are trained on the same unbalanced dataset of a hand full of categories. Now I would like to
1) compare the classifiers against the ground truth:
How well do they perform on classifying on a per class basis (compared to a chance based model) and what is a sensible average of the per class performances?
2) compare the classifiers against each other:
Are they significantly different in what they classify data instances as? Are they significantly different in their overall performance (e.g. in accuracy per class)?
I looked into many test statistics now, some are
- overall accuracy (bad for imbalanced datasets)
- Cohen's kappa
- Chi square goodness of fit
- McNemar
- AUROC
- Brier score
- Youden Index
- Informedness
- F-Score
I encountered different accounts whether these are suited for the imbalanced multiclass scenario and under which conditions they can be used, however. Most of the guides and explanations I read limited themselves to cases of binary classification.
I found the pycm package though, which computes many statistics (and most of the above), also for multiclass problems. But the documentation is kind of sparse, and I am not sure if it handles the unbalanced multiclass scenario correctly.
Now I am looking for some clear instructions on which tests I can apply to my case or how I need to format my data to be suited for some given test (I read about binarization of multiclass labes and "one vs all" a couple of times, for example, but these involved retraining the models (e.g. here), which is not an option for me.).
edit:
I am not asking about why accuracy is not a good metric. I am asking for which tests are suited for unbalanced multiclass.