Матрица путаницы Scikit-Learn работает по-разному на основе строк - PullRequest
0 голосов
/ 20 февраля 2019

У меня действительно странная проблема, я использую матрицу путаницы sklearn (from sklearn.metrics import confusion_matrix) для своего набора данных, но я заметил, что значения, которые он печатал, были очень далеки.Я попытался отладить его, и он, кажется, работает с первыми буквами алфавита, такими как «a», «b», «c», «d» и числами (0, 1, 2, 3).

Однако, если я использую другие буквы ("g", "r", "m", "o") или слова, которые есть в примере на сайте

https://scikit -learn.org / stable / modules / Генерируемый / sklearn.metrics.confusion_matrix.html

Я получаю действительно случайные результаты.Это известная проблема?Единственное решение, о котором я могу подумать сейчас, - это правильно напечатать его, используя цифры, а затем исправить надписи в Paint. Это не то решение, которое мне действительно нужно для моей диссертации.101

Насколько я понимаю, все это должно вернуть третий результат.Есть ли что-то, что я пропускаю или есть кто-то, у кого была эта проблема?Спасибо!

1 Ответ

0 голосов
/ 20 февраля 2019

Вы передаете plot_confusion_matrix аргумент *1002*, который не соответствует тому, что использует confusion_matrix, что приводит к тому, что эти подпрограммы используют разные отображения от классов к строкам и столбцам матрицы путаницы.confusion_matrix использует одно сопоставление, а plot_confusion_matrix использует другое, что приводит к зашифровке результатов.

Вам необходим аргумент labels для confusion_matrix, сопоставляющий аргумент classes с plot_confusion_matrix:

confusion_matrix(gr, rr, labels=mr)
...