Статья Автор: Деникина Н.В., Деникин А.В.

Матрица ошибок: кто прав, кто виноват?

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

Четыре возможных исхода

True Positive (TP) — Истинно положительный
Человек болен, модель сказала "болен" ✅
Правильный диагноз!

True Negative (TN) — Истинно отрицательный
Человек здоров, модель сказала "здоров" ✅
Тоже правильно!

False Positive (FP) — Ложно положительный (Ошибка I рода)
Человек здоров, но модель сказала "болен" ❌
Ложная тревога! (Человек здоров, а мы его напугали)

False Negative (FN) — Ложно отрицательный (Ошибка II рода)
Человек болен, но модель сказала "здоров" ❌
Опасная ошибка! (Пропустили болезнь)
 

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

Всё это можно красиво представить в таблице:
  Предсказание модели
Реальность Класс 0
(Здоров)
Класс 1
(Болен)
Класс 0
(Здоров)
TN
(правильно)
FP
(ошибка!)
Класс 1
​​​​​​​(Болен)
FN
(ошибка!)
TP
(правильно)

60 человек здоровы (класс 0)
40 человек больны (класс 1)

Результаты:
TN = 55 — правильно определили здоровых
FP = 5 — ошибочно назвали больными здоровых людей
FN = 8 — пропустили 8 больных (сказали, что здоровы)
TP = 32 — правильно выявили больных
 
  Предсказание модели
Реальность Класс 0
(Здоров)
Класс 1
​​​​​​​(Болен)
Класс 0 
(Здоров = 60)
55 5
Класс 1
​​​​​​​(Болен = 40)
8 32
 

🎓 Важно понимать

Диагональ (TN и TP) — это наши правильные ответы!
Остальные клетки (FP и FN) — это ошибки, и они разные!
FP = напугали здорового человека зря
FN = не заметили больного (это опаснее!)
Печать