Почему Scikit учиться путаница матрица полностью изменена? - PullRequest
0 голосов
/ 10 мая 2019

У меня 3 вопроса:

1)

Матрица смешения для sklearn выглядит следующим образом:

TN | FP
FN | TP

Когда я смотрю на онлайн-ресурсы, я нахожу это так:

TP | FP
FN | TN

Какой из них мне следует рассмотреть?

2)

Так как приведенная выше матрица путаницы для обучения scikit отличается от той, которую я нахожу в других ресурсах, в мультиклассовой матрице путаницы, какой будет структура? Я смотрю на этот пост здесь: Scikit-learn: как получить истинно положительный, истинно отрицательный, ложноположительный и ложноотрицательный В этом посте @ lucidv01d опубликовал график, чтобы понять категории для мультикласса. та же категория в scikit учиться?

3)

Как вы рассчитываете точность мультикласса? например, у меня есть эта матрица путаницы:

[[27  6  0 16]
 [ 5 18  0 21]
 [ 1  3  6  9]
 [ 0  0  0 48]]

В том же посте, о котором я говорил в вопросе 2, он написал следующее уравнение:

Общая точность

ACC = (TP + TN) / (TP + FP + FN + TN)

но это не только для двоичного кода? Я имею в виду, для какого класса я заменяю TP?

Ответы [ 2 ]

1 голос
/ 11 мая 2019

Как говорится в руководстве по sklearn : "(В википедии и других ссылках может использоваться другое соглашение для осей)"

Что это значит?При построении матрицы путаницы, первый шаг должен решить, куда поместить прогнозы и реальные значения (истинные метки).Существуют две возможности:

  • помещать предсказания для столбцов и истинные метки для строк
  • помещать предсказания для строк, а истинные метки для столбцов

Совершенно субъективно решать, каким путем вы хотите идти.Из этого рисунка, Sklearn's Confusion Matrix объясненного в здесь , ясно, что соглашение scikit-learn состоит в том, чтобы ставить предсказания для столбцов, а истинные метки для строк.

Таким образом, согласно соглашению scikit-learns, это означает:

  • первый столбец содержит отрицательные прогнозы (TN и FN)
  • второй столбец содержит,положительные прогнозы (TP и FP)
  • первая строка содержит отрицательные метки (TN и FP)
  • вторая строка содержит положительные метки (TP и FN)
  • the диагональ содержит количество правильно спрогнозированных меток.

Основываясь на этой информации, я думаю, вы сможете решить часть 1 и часть 2 своих вопросов.

Длячасть 3, вы просто суммируете значения в диагонали и делите на сумму всех элементов, которая будет

(27 + 18 + 6 + 48) / (27 + 18 + 6 + 48 + 6 +)16 + 5 + 21 + 1 + 3 + 9)

или вы можете просто использовать функцию Score ().

1 голос
/ 11 мая 2019

Причина, по которой sklearn показывает свою матрицу путаницы, например

TN | FP
FN | TP

, заключается в том, что в своем коде они считают 0 отрицательным классом, а один - положительным классом.sklearn всегда считает меньшее число отрицательным, а большое число положительным.Под номером я подразумеваю значение класса (0 или 1).Порядок зависит от вашего набора данных и класса.

Точность будет суммой диагональных элементов, деленной на сумму всех элементов. P Диагональные элементы - это количество правильных предсказаний.

...