Try mlxtend. Here's an example of multi-class case.

enter image description here


Although this question is old, I am writing this answer for new audience.
scikit-learn now supports confusion matrix for multi-label classification.

https://scikit-learn.org/stable/modules/generated/sklearn.metrics.multilabel_confusion_matrix.html


There are many different parameters which can evaluate the performance of your method by comparing the real and predicted labels. I suggest PyCM module which can give a vast variety these parameters which are suitable for multi-class classification.


Also take a look at scikit-multilearn. It is a very good library that extends sklearn for multi-label learning. However, I'm not sure how the confusion matrix works for multi-label problems...

This guy claims he has solved it.


Look at sed_eval library. It is developed for evaluating event detection in audio which is a multi-label problem (as in each audio, multiple events exist). They have many evaluation options, which might fit to your needs. You can get the true-positive rate, ... and from there computing the confusion matrix is not that hard.


Scikit-learn does support multi-label confusion matrix. See the links below for documentation and user guide:

http://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html

http://scikit-learn.org/stable/modules/model_evaluation.html#confusion-matrix


Sklearn has a method for it using which you can compute confusion matrix for multi class.

from sklearn import cross_validation
confusion_matrix(original, Predicted)

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.