Confusion Matrix: A Powerful Tool for Evaluating Machine Learning Models
Confusion matrix - это таблица, которая используется для оценки качества работы модели машинного обучения. Эта матрица показывает количество правильных и неправильных прогнозов, сделанных моделью.
Каждая строка в confusion matrix представляет истинное значение, а каждый столбец - предсказанное значение моделью. Точность работы модели можно вычислить путем анализа confusion matrix.
Пример кода на Python для создания confusion matrix:
from sklearn.metrics import confusion_matrix
y_true = [1, 0, 1, 0, 1, 0, 1, 0, 1, 0]
y_pred = [1, 0, 1, 1, 0, 1, 0, 0, 1, 1]
cm = confusion_matrix(y_true, y_pred)
print(cm)
# Output:
# array([[3, 2], [2, 3]])
В этом примере есть 4 возможных значения: истинно-положительное (True Positive - TP), ложно-положительное (False Positive - FP), истинно-отрицательное (True Negative - TN) и ложно-отрицательное (False Negative - FN).
- TP - это случаи, когда модель правильно предсказывает положительный класс;
- TN - это случаи, когда модель правильно предсказывает отрицательный класс;
- FP - это случаи, когда модель ошибочно предсказывает положительный класс;
- FN - это случаи, когда модель ошибочно предсказывает отрицательный класс.
В нашем примере получились следующие значения:
- 3 TP
- 2 FP
- 2 FN
- 3 TN
Используя значения из confusion matrix, можно вычислить множество метрик, таких как точность, полноту и F1-меру.
Точность модели (Accuracy) - это доля правильных прогнозов по отношению к общему числу предсказаний:
accuracy = (TP + TN) / (TP + FP + TN + FN)
Также можно вычислить следующие метрики:
- Точность (Precision) - доля правильных предсказаний класса 1 (TP) относительно всех предсказаний класса 1 (TP + FP):
precision = TP / (TP + FP)
- Полнота (Recall) - доля правильных предсказаний класса 1 (TP) относительно всех экземпляров класса 1 (TP + FN):
recall = TP / (TP + FN)
- F1-мера - гармоническое среднее между точностью и полнотой:
F1 = 2 * (precision * recall) / (precision + recall)
Все эти метрики позволяют оценить качество модели машинного обучения и различные степени ее ошибок. Confusion matrix является важным инструментом для анализа эффективности моделей машинного обучения в задачах классификации.