9

I'm looking for a Python library that can compute the confusion matrix for multi-label classification.


FYI:

Franck Dernoncourt
  • 5,862
  • 12
  • 44
  • 80

7 Answers7

3

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.

2

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

Vivek Mehta
  • 121
  • 4
1

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

enter image description here

Zephyr
  • 997
  • 4
  • 11
  • 20
Icyblade
  • 4,376
  • 1
  • 25
  • 34
1

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.

0

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)
0

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

Kristin H
  • 117
  • 3
0

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.

PickleRick
  • 151
  • 4