Confusion Matrix: определение и применение
Confusion matrix (
матрица ошибок) является инструментом, используемым в машинном обучении для оценки производительности модели классификации. Она представляет собой таблицу, в которой отображаются результаты классификации модели на отложенном наборе данных и фактические значения меток классов.Давайте разберемся в деталях, как строится и анализируется confusion matrix (матрица ошибок), и рассмотрим примеры кода на Python для его создания.
Перед тем как начать, давайте вкратце рассмотрим ключевые понятия, связанные с confusion matrix:
True Positive (TP)- количество примеров, которые модель правильно классифицировала как положительные.True Negative (TN)- количество примеров, которые модель правильно классифицировала как отрицательные.False Positive (FP)- количество примеров, которые модель неправильно классифицировала как положительные.False Negative (FN)- количество примеров, которые модель неправильно классифицировала как отрицательные.Исходя из этих понятий, confusion matrix имеет следующую форму:
| Actual Positive | Actual Negative | -------------|------------------|------------------| Predicted Positive | TP | FP | -------------|------------------|------------------| Predicted Negative | FN | TN |Теперь перейдем к коду на Python для создания и анализа confusion matrix. Мы будем использовать библиотеки numpy и sklearn.
import numpy as np from sklearn.metrics import confusion_matrix # Примеры истинных классов actual_classes = [1, 0, 1, 0, 1, 1, 0, 0, 1, 0] # Примеры предсказанных классов predicted_classes = [1, 1, 1, 0, 1, 0, 1, 0, 0, 0] # Создание confusion matrix cm = confusion_matrix(actual_classes, predicted_classes) # Вывод confusion matrix print("Confusion Matrix:") print(cm)Этот код создает примеры истинных классов и предсказанных классов, а затем использует функцию
confusion_matrixиз библиотеки sklearn для создания confusion matrix. Затем результаты выводятся на экран.Вывод кода будет следующим:
Confusion Matrix: [[3 2] [2 3]]В данном примере confusion matrix имеет размер 2x2, так как у нас есть два класса. По главной диагонали располагаются True Positive и True Negative, а по побочной - False Positive и False Negative.
Из этого confusion matrix мы можем сделать следующие выводы:
- Матрица содержит 3 True Positive. Это означает, что модель правильно предсказала, что 3 примера относятся к положительному классу.
- Матрица содержит 3 True Negative. Значит, модель правильно предсказала, что 3 примера относятся к отрицательному классу.
- Матрица содержит 2 False Positive. Это означает, что модель неправильно предсказала, что 2 примера относятся к положительному классу.
- Матрица содержит 2 False Negative. Значит, модель неправильно предсказала, что 2 примера относятся к отрицательному классу.
Confusion matrix предоставляет ценную информацию о производительности модели классификации, позволяя нам оценить точность предсказаний для каждого класса и идентифицировать типы ошибок, которые модель совершает.
Надеюсь, этот развернутый ответ и примеры кода помогут вам лучше понять confusion matrix и его использование в машинном обучении. Если у вас еще остались вопросы, пожалуйста, задавайте.