🛠️
Bemind
Инструменты оценки
Инструменты оценки
  • Основные показатели стратегии
  • Инструменты оценки модели линейной регрессии
    • 1. Средняя квадратическая ошибка
    • 2. Средняя абсолютная ошибка
    • 3. Корень из средней квадратической ошибки.
    • 4. Коэффициент детерминации
    • 5. Скорректированный коэффициент детерминации:
    • 6. Коэффициенты модели
    • 7. Проверка гипотез о коэффициентах модели
    • 8. Проверка предположений о модели
  • Инструменты оценки качества обучения классифицирующей нейронной сети
    • Точность (Accuracy)
    • Матрица ошибок (Confusion Matrix)
    • Кривая ROC (Receiver Operating Characteristic)
    • Кросс-энтропийная функция потерь (Cross-Entropy Loss)
    • Precision, Recall, F1-score
    • Разделение данных на тренировочный, валидационный и тестовый наборы
    • Мониторинг метрик на валидационном наборе во время обучения для предотвращения переобучения
  • Линейная, логистическая и регрессия Пуассона.
    • Введение в простую линейную регрессию
    • Введение в регрессию Пуассона для подсчета данных
    • Введение в простую линейную регрессию
    • Полное руководство по линейной регрессии в Python
      • Как создать остаточный график в Python
      • Понимание гетероскедастичности в регрессионном анализе
      • Как выполнить тест Дарбина-Ватсона в Python
      • Четыре допущения линейной регрессии
    • Как рассчитать VIF в Python
    • Руководство по мультиколлинеарности и VIF в регрессии
  • Мультиколлинеарность и коэффициент инфляции дисперсии (VIF) в регрессионной модели (с кодом Python)
    • Фактор инфляции дисперсии в Python
  • Функции потерь в Python — простая реализация
  • CADE — интересный способ поиска аномалий в многомерных данных
  • Как использовать Python для проверки нормальности
  • Анализ карты Пуанкаре
    • Анализ Финансовых Рынков: Автокорреляция и Спектральный Анализ Криптовалют
  • Предсказания цен с использованием постоянной Фейгенбаума
  • Расчет вероятности серии убыточных сделок в серии игр.
  • Анализ данных ставок и результатов с использованием Python
Powered by GitBook
On this page
  • Матрица ошибок (Confusion Matrix) для оценки качества классификационных моделей
  • Структура матрицы ошибок
  • Пример матрицы ошибок
  • Использование матрицы ошибок
  1. Инструменты оценки качества обучения классифицирующей нейронной сети

Матрица ошибок (Confusion Matrix)

Матрица ошибок (Confusion Matrix) для оценки качества классификационных моделей

Матрица ошибок (Confusion Matrix) - это таблица, которая используется для визуализации производительности классификационной модели на тестовом наборе данных. Она показывает количество примеров, правильно и неправильно классифицированных моделью для каждого класса. Матрица ошибок - одна из ключевых метрик для оценки качества обучения классифицирующих моделей, особенно в задачах с несбалансированными классами.

Структура матрицы ошибок

Матрица ошибок представляет собой таблицу размерности NxN, где N - количество классов в задаче классификации. Строки матрицы соответствуют истинным классам, а столбцы - предсказанным классам. Элементы матрицы содержат количество примеров, отнесенных моделью к каждой комбинации истинного и предсказанного классов.

Для бинарной классификации (когда есть только два класса, например, "положительный" и "отрицательный") матрица ошибок имеет следующую структуру:

                 Предсказанный класс
                Положительный  Отрицательный
Истинный     Положительный   TP       FN
класс        Отрицательный    FP       TN

Где:

  • TP (True Positives) - количество положительных примеров, классифицированных как положительные

  • TN (True Negatives) - количество отрицательных примеров, классифицированных как отрицательные

  • FP (False Positives) - количество отрицательных примеров, ошибочно классифицированных как положительные

  • FN (False Negatives) - количество положительных примеров, ошибочно классифицированных как отрицательные

Пример матрицы ошибок

Рассмотрим задачу бинарной классификации на выявление спама в электронных письмах. Предположим, у нас есть тестовый набор из 100 писем, из которых 80 не являются спамом, а 20 - спам. Модель классифицировала эти письма следующим образом:

                 Предсказанный класс
                  Не спам  Спам
Истинный     Не спам   75     5
класс        Спам        5     15

В этой матрице:

  • 75 писем правильно классифицированы как не спам (TN)

  • 15 писем спама правильно классифицированы как спам (TP)

  • 5 писем, не являющихся спамом, ошибочно классифицированы как спам (FP)

  • 5 писем спама ошибочно классифицированы как не спам (FN)

Использование матрицы ошибок

Анализ матрицы ошибок позволяет получить ценную информацию о производительности классификационной модели:

  1. Главная диагональ показывает количество примеров, классифицированных правильно.

  2. Остальные элементы представляют ошибки классификации для каждой комбинации истинного и предсказанного классов.

  3. Сумма элементов в каждой строке (или столбце) дает общее количество примеров данного истинного (или предсказанного) класса.

На основе матрицы ошибок можно рассчитать другие важные метрики производительности классификатора, такие как precision, recall и F1-мера для каждого класса.

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

Вот пример кода на Python для построения и анализа матрицы ошибок классификационной модели:

from sklearn.metrics import confusion_matrix
from sklearn.metrics import ConfusionMatrixDisplay
import matplotlib.pyplot as plt

# Истинные метки
true_labels = [0, 1, 0, 1, 0, 1, 0, 0, 1, 1]

# Предсказанные метки
pred_labels = [0, 0, 0, 1, 0, 1, 1, 0, 1, 1]

# Построение матрицы ошибок
cm = confusion_matrix(true_labels, pred_labels)
print("Матрица ошибок:")
print(cm)

# Визуализация матрицы ошибок
cmd = ConfusionMatrixDisplay(cm, display_labels=['Не спам', 'Спам'])
cmd.plot(cmap='Blues')
plt.show()

Выход:

Матрица ошибок:
[[5 2]
 [1 2]]

И отобразится график матрицы ошибок:

Разберем этот пример:

  1. Мы импортируем функцию confusion_matrix из модуля sklearn.metrics для построения матрицы ошибок, а также ConfusionMatrixDisplay для визуализации.

  2. Создаем списки true_labels и pred_labels с истинными и предсказанными метками классов соответственно.

  3. Вызываем функцию confusion_matrix, передавая туда истинные метки true_labels и предсказанные метки pred_labels. Результат сохраняется в переменную cm.

  4. Выводим полученную матрицу ошибок cm.

  5. Создаем объект ConfusionMatrixDisplay с матрицей ошибок cm и метками классов ['Не спам', 'Спам'].

  6. Вызываем метод plot для визуализации матрицы ошибок с цветовой картой 'Blues'.

  7. Вызываем plt.show() для отображения графика.

В этом примере мы видим, что из 10 примеров:

  • 5 примеров "Не спам" классифицированы правильно (TN)

  • 2 примера "Не спам" ошибочно классифицированы как "Спам" (FP)

  • 1 пример "Спам" ошибочно классифицирован как "Не спам" (FN)

  • 2 примера "Спам" классифицированы правильно (TP)

Библиотека scikit-learn предоставляет удобные функции для построения и визуализации матрицы ошибок, что позволяет наглядно оценить производительность классификационной модели и выявить проблемные области.

PreviousТочность (Accuracy)NextКривая ROC (Receiver Operating Characteristic)

Last updated 11 months ago