В , у нас обычно есть 2 разных варианта использования, , и проблема. Матрица неточностей помогает вычислить точность модели классификации, которая косвенно помогает нам описать эффективность модели классификации. Это самый важный шаг при оценке модели. В этой статье я затрону следующие темы:
1. Что такое матрица неточностей?
кроссбраузерное тестирование в selenium webdriver
2. Точность и компоненты матрицы неточностей
4. Создание матрицы путаницы с помощью Python и Sklearn.
Что такое матрица неточностей?
Матрица неточностей - это сводка сравнения прогнозируемых результатов и фактических результатов в любом варианте использования задачи классификации. Сводка сравнения крайне необходима для определения производительности модели после ее обучения с использованием некоторых обучающих данных. Для варианта использования двоичной классификации матрица неточностей - это матрица 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 (истинно отрицательный) | Всего фактических минус-слов |
- 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 (истинно отрицательный) |
Сумма всего прогнозируемого положительного результата | Сумма всего прогнозируемого отрицательного результата |
- Ложноотрицательная ставка (FNR):
Коэффициент ложноотрицательных результатов - это процентное соотношение прогнозируемых ложноотрицательных результатов (FP) к общему количеству прогнозируемых отрицательных результатов (TN + FN).
Точность, отзыв и 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 импортировать классификационный_репорт отчет = классификационный_репорт ( фактические_данные, предсказанные_данные) печать (точность) печать (отчет)
как создать набор
Итак, на этом мы подошли к концу данной статьи. Я надеюсь, что все ваше замешательство по поводу Матрицы замешательства теперь разрешено.
Эдурека поможет вам получить опыт в различных алгоритмах машинного обучения, таких как регрессия, кластеризация, деревья решений, случайный лес, наивный байесовский метод и Q-Learning. Это машинное обучение с использованием Python Training знакомит вас с концепциями статистики, временных рядов и различными классами алгоритмов машинного обучения, такими как контролируемые, неконтролируемые и подкрепляющие алгоритмы. Во время сертификационного курса по науке о данных вы будете решать реальные кейсы по СМИ, здравоохранению, социальным сетям, авиации и HR.