Матрица путаницы в машинном обучении: универсальное решение



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

В , у нас обычно есть 2 разных варианта использования, , и проблема. Матрица неточностей помогает вычислить точность модели классификации, которая косвенно помогает нам описать эффективность модели классификации. Это самый важный шаг при оценке модели. В этой статье я затрону следующие темы:

1. Что такое матрица неточностей?





кроссбраузерное тестирование в selenium webdriver

2. Точность и компоненты матрицы неточностей

3. Точность, отзыв и F-мера



4. Создание матрицы путаницы с помощью Python и Sklearn.

Что такое матрица неточностей?

Матрица неточностей - это сводка сравнения прогнозируемых результатов и фактических результатов в любом варианте использования задачи классификации. Сводка сравнения крайне необходима для определения производительности модели после ее обучения с использованием некоторых обучающих данных. Accuracy-Confusion-MatrixДля варианта использования двоичной классификации матрица неточностей - это матрица 2 × 2, которая показана ниже.
Прогнозируемое значение класса 1 Например: 1 Прогнозируемое значение класса 2 Например: 0
Фактическое значение класса 1

Например: 1

TP (истинно положительный) FN (ложноотрицательный)
Фактическое значение класса 2



Например: 0

FP (ложноположительный) TN (истинно отрицательный)

Из рисунка выше:
У нас есть,

  • Фактическое значение класса 1 = 1, что аналогично положительному значению в двоичном исходе.
  • Фактическое значение класса 2 = 0, что аналогично отрицательному значению в двоичном результате.

Индекс слева в матрице недоразумений в основном указывает фактические значения, а верхний столбец указывает прогнозные значения.

Когда мы создаем матрицу путаницы, существуют различные компоненты. Компоненты указаны ниже

Положительный (P): Прогнозируемый результат положительный (пример: изображение - кошка).

Отрицательный (N): прогнозируемый результат отрицательный (пример: изображения не кошка)

Истинно положительный (TP): Здесь TP в основном указывает на прогноз, а фактическое значение - 1 (True).

Истинно-отрицательный (TN): Здесь TN указывает прогнозируемое значение, а фактическое значение - 0 (ложь).

Ложноотрицательный (FN): Здесь FN указывает, что прогнозируемое значение равно 0 (отрицательное), а фактическое значение равно 1. Здесь оба значения не совпадают. Следовательно, это ложноотрицательный результат.

Ложноположительный (FP): Здесь FP указывает, что прогнозируемое значение равно 1 (положительное), а фактическое значение равно 0. Здесь снова оба значения не совпадают. Следовательно, это ложноположительный результат.

Точность и компоненты матрицы неточностей

После того, как матрица неточностей создана и мы определим значения всех компонентов, нам становится довольно легко вычислить точность. Итак, давайте посмотрим на компоненты, чтобы лучше понять это.
  • Точность классификации

Из приведенной выше формулы сумма TP (истинно положительный) и TN (истинно отрицательный) является правильным прогнозируемым результатом. Следовательно, чтобы рассчитать точность в процентах, мы делим ее на все остальные компоненты. Однако есть проблемы с точностью, и мы не можем полностью от них зависеть.

Будем считать, что наш набор данных полностью несбалансирован. В этом сценарии точность 98% может быть хорошей или плохой в зависимости от постановки задачи. Следовательно, у нас есть еще несколько ключевых терминов, которые помогут нам быть уверенными в точности вычислений. Условия приведены ниже:

  • TPR (истинно положительный коэффициент) или чувствительность:

Уровень истинных положительных результатов, также известный как чувствительность, измеряет процент истинных положительных результатов по отношению к общему количеству фактических положительных результатов, который обозначается (TP + FN)

PHP mysql_fetch_array
Прогнозируемое значение класса 1 Например: 1 Прогнозируемое значение класса 2 Например: 0 Всего
Фактическое значение класса 1

Например: 1

TP (истинно положительный) FN (ложноотрицательный) Всего фактических положительных результатов
Фактическое значение класса 2

Например: 0

FP (ложноположительный)TN (истинно отрицательный)Всего фактических минус-слов
TPR = истинно положительный / (истинно положительный + ложно отрицательный
  • TNR (истинно отрицательная скорость) или специфичность:

True Negative Rate или Specificity измеряет долю фактических негативов по отношению к общему количеству негативов.

Прогнозируемое значение класса 1 Например: 1 Прогнозируемое значение класса 2 Например: 0 Всего
Фактическое значение класса 1

Например: 1

TP (истинно положительный)FN (ложноотрицательный)Всего фактических положительных результатов
Фактическое значение класса 2

Например: 0

FP (ложноположительный) TN (истинно отрицательный) Всего фактических минус-слов

TNR = истинно отрицательный / (истинно отрицательный + ложноположительный)

  • Уровень ложноположительных результатов (FPR):

Уровень ложноположительных результатов - это процентное соотношение прогнозируемых ложноположительных результатов (FP) к общему количеству прогнозируемых положительных результатов (TP + FP).

Прогнозируемое значение класса 1 Например: 1 Прогнозируемое значение класса 2 Например: 0
Фактическое значение класса 1 EG: 1 TP (истинно положительный) FN (ложноотрицательный)
Фактическое значение класса 2 EG: 0 FP (ложноположительный) TN (истинно отрицательный)
Сумма всего прогнозируемого положительного результата Сумма всего прогнозируемого отрицательного результата
FPR = ложноположительный / (истинный положительный + ложноположительный)
  • Ложноотрицательная ставка (FNR):

Коэффициент ложноотрицательных результатов - это процентное соотношение прогнозируемых ложноотрицательных результатов (FP) к общему количеству прогнозируемых отрицательных результатов (TN + FN).

Прогнозируемое значение класса 1 Например: 1 Прогнозируемое значение класса 2 Например: 0
Фактическое значение класса 1 EG: 1TP (истинно положительный) FN (ложноотрицательный)
Фактическое значение класса 2 EG: 0FP (ложноположительный) TN (истинно отрицательный)
Сумма всего прогнозируемого положительного результата Сумма всего прогнозируемого отрицательного результата
FNR = ложноотрицательный / (ложноотрицательный + истинно отрицательный)

Точность, отзыв и F-мера

  • Отзыв:

Отзыв аналогичен истинному положительному показателю и представляет собой отношение общего количества правильно предсказанных положительных значений (TP) ко всем положительным значениям.

  • Точность:

Точность в основном указывает все точки, которые модель предсказала как положительные, и какой процент из них на самом деле положительный.

Точность и отзыв - это результаты показателей, которые фокусируются на положительном классе, как показано из приведенных выше формул.

  • F-мера

Таким образом, F-Measure - это метод, который сочетает в себе методы точности и восстановления и использует среднее гармоническое вместо обычного среднего арифметического, из-за чего крайние значения наказываются. F-мера также называется F1-оценкой и рассчитывается по следующей формуле.

Давайте рассмотрим пример и посмотрим, как мы можем вычислить точность, точность, отзыв и оценку F1.

N = 165 Прогнозируемый ДА Прогнозируемое НЕТ
Фактическое ДА TP = 150 FN = 10
Текущий NO FP = 20 TN = 100
    • Точность = (TP + TN) / (TP + TN + FP + FN) = (150 + 100) / (150 + 100 + 20 + 10) = 0,89
    • Напомним = TP / (TP + FN) = 150 / (150 + 10) = 0,93
    • Точность: TP / (TP + FP) = 150 / (150 + 20) = 0,88

  • F-мера = (2 * Отзыв * Точность) / (Отзыв + Предписание) = (2 * 0,93 * 0,88) / (0,93 + 0,88) = 0,90

Создание матрицы путаницы с использованием Python и Sklearn

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

один. Сначала мы создадим некоторый список фактических данных и прогнозов, чтобы проверить точность, как показано ниже.

# Python-скрипт для создания матрицы путаницы. actual_data = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] predicted_data = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1]

2. Нам нужно импортировать матрицу путаницы из библиотеки sklearn, как показано ниже:

из sklearn.metrics импортировать confusion_matrix

3. Затем мы создадим матрицу путаницы, как показано ниже:

final_results = confusion_matrix (фактические_данные, предсказанные_данные)

Четыре. Теперь мы можем продолжить и вычислить точность, импортировав библиотеку, как показано ниже:

из sklearn.metrics импортировать precision_score precision = precision_score (фактические_данные, предсказанные_данные)

5. Наконец, мы вычисляем показатель F1 или показатель F, как показано ниже:

из sklearn.metrics импортировать классификационный_репорт отчет = классификационный_репорт (фактические_данные, предсказанные_данные)

Ниже представлен полный код:

actual_data = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] predicted_data = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1] из sklearn.metrics импортировать confusion_matrix final_results = confusion_matrix (actual_data, predicted_data) print (final_results) из sklearn.metrics импортировать precision_score precision = precision_score (actual_data, predicted_data) из sklearn.metrics импортировать классификационный_репорт отчет = классификационный_репорт ( фактические_данные, предсказанные_данные) печать (точность) печать (отчет)

matrix

как создать набор

Итак, на этом мы подошли к концу данной статьи. Я надеюсь, что все ваше замешательство по поводу Матрицы замешательства теперь разрешено.

Эдурека поможет вам получить опыт в различных алгоритмах машинного обучения, таких как регрессия, кластеризация, деревья решений, случайный лес, наивный байесовский метод и Q-Learning. Это машинное обучение с использованием Python Training знакомит вас с концепциями статистики, временных рядов и различными классами алгоритмов машинного обучения, такими как контролируемые, неконтролируемые и подкрепляющие алгоритмы. Во время сертификационного курса по науке о данных вы будете решать реальные кейсы по СМИ, здравоохранению, социальным сетям, авиации и HR.