Мультиклассовая матрица путаницы, где предсказания и метки являются многообещающими векторами - PullRequest
0 голосов
/ 27 февраля 2019

Мне нужно рассчитать матрицу путаницы для меток и прогнозов, которые представлены в виде векторов с несколькими горячими точкамиКажется, что sklearn не поддерживает такой сценарий.

Вот пример того, что у меня есть.Предположим, есть три класса, 'a', 'b', и 'c';цели / метки:

l1 = [1, 0 ,1, 0, 0]; of class a
l2 = [1, 0 ,1, 0, 1]; of class b
l3 = [1, 0 ,0, 0, 0]; of class a
l4 = [0, 0 ,0, 0, 0]; of class c

Итак, у нас есть матрица меток:

L = np.array([ [1, 0 ,1, 0, 0], 
[1, 0 ,1, 0, 1], 
[1, 0 ,0, 0, 0],  
[0, 0 ,0, 0, 0]] )

предсказания:

p1 = [1, 0 ,1, 0, 0]; of class a
p2 = [1, 0 ,1, 0, 0]; of class b
p3 = [1, 1 ,0, 0, 0]; of class a
p4 = [0, 1 ,0, 0, 0]; of class c

и матрица предсказания в виде:

P = np.array([ [1, 0 ,1, 0, 0], 
[1, 0 ,1, 0, 0], 
[1, 1 ,0, 0, 0],  
[0, 1 ,0, 0, 0]] )

Я ожидаю, что на выходе будет матрица путаницы 3x3, примерно такая:

   A  B  C
A  2  0  0  
B  0  0  1
C  0  1  0

Я использую sklearn accuracy_score для оценкиточность классификации.Однако, хотя accuracy_score работает для точности на таких метках, матрица путаницы sklearn не поддерживает вышеупомянутый сценарий.Есть ли какие-либо альтернативы sklearn?

Другой вопрос , кажется, дает три матрицы путаницы, но это не тот случай, который я ищу.

1 Ответ

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

Я думаю, что точность не является подходящей метрикой для такой ситуации.Вы можете использовать roc_auc_score из sklearn.metrics.ranking.

...