Яка метрика — і що вона приховує?
Вісім метрик класифікації пліч-о-пліч, пари, які плутають, і один справжній запуск, де вони розходяться. Кожна назва веде на повну сторінку з джерелами.
друкується на 2 сторінках A4з 10 сторінок і 1 каталогучитати безкоштовно · PDF — із безкоштовним акаунтомОновлено 21 жовт. 2026 р.
PDF і кнопка «Друкувати» просять увійти; безкоштовного акаунта досить. Читати й перевіряти себе може кожен.
Пліч-о-пліч
Перші стовпці — з каталогу Classification metrics; решта — з кожної сторінки.
Формулу наведено, лише коли вона коротша за слова; решту сказано словами, а формула є на кожній сторінці.
Легко сплутати
Питання «чим відрізняється…» — кожне у два рядки.
Кожну окремо можна обіграти — майже без позитивних прогнозів достовірність сягне 1.0, а з позитивом для всього — recall.
Наводьте їх разом, або F1, коли обидві помилки коштують приблизно однаково.
Precision проти Specificity
Обидві про хибні тривоги; специфічність ділить на справжні негативи, достовірність — на підняті тривоги.
Специфічність переживає перезбалансовану тестову вибірку; достовірність каже, скільки сміття в черзі.
ROC AUC проти PR AUC
0.86 проти 0.12 Позитиви: 1%
ROC AUC ділить хибні тривоги на величезний пул негативів, тож вони ледве його зрушують; PR AUC зіставляє їх із позначеним.
Коли позитиви рідкісні, дивіться на достовірність і recall.
0.99 проти 0.03 Позитиви: 1%
Точність рахує істинні негативні результати, F1 їх оминає; за рідкісного класу точність майже з них і складається.
Тут точність міряє поширеність, а не модель.
Model calibration проти Accuracy
Точність перевіряє мітку; калібрування — що означає заявлена впевненість.
Модель, що для всього прогнозує базову частоту, ідеально відкалібрована й зовсім марна.
Один справжній запуск
Та сама логістична регресія на тих самих двох класах; змінюється лише частка позитивів.
| Позитиви | Accuracy росте | Precision | Recall | F1 | ROC AUC | PR AUC падає |
|---|---|---|---|---|---|---|
| 50% | 0.79 | 0.79 | 0.79 | 0.79 | 0.87 | 0.87 |
| 10% | 0.91 | 0.68 | 0.26 | 0.38 | 0.87 | 0.51 |
| 1% | 0.99 | 0.55 | 0.02 | 0.03 | 0.86 | 0.12 |
| 0.1% | 0.999 | 0.00 | 0.00 | 0.00 | 0.83 | 0.03 |
«Точність росте, коли задача стає важчою.»
«ROC-AUC ледве рухається; PR-AUC обвалюється.»
Запуск і ці рядки — практичний приклад зі сторінки «Class imbalance», як його виведено: identical class separability (1.6 sd apart), only the mix changes
Що обрати?
Чи обидві помилки коштують приблизно однаково?
Якщо ні, то яка помилка шкодить?
Чи поріг оберуть пізніше?
Чи використовують саму ймовірність?
- Вона і є продуктом Cross-entropy
- Вона має означати те, що каже Model calibration
Кожна відповідь — з розділу «Чому і коли» своєї сторінки.
Усі пастки цих сторінок: 42
Кожна — перший рядок однієї з типових помилок; чому — пояснює її сторінка.
Confusion matrix
- Перевірте орієнтацію, перш ніж робити висновки.
- Сирі підрахунки приховують базову частоту.
- Матриця описує один поріг.
Accuracy
- Завжди порівнюйте з базовою частотою.
- Точність приховує, яку саме помилку робить модель.
- Вона повністю ігнорує впевненість.
Precision
- Достовірність сама по собі беззмістовна.
- Вона не визначена, коли нічого не позначено.
- Вона рухається разом із базовою частотою.
Recall
- Recall сам по собі беззмістовний.
- «Чутливість» і «recall» — одне й те саме.
- Ціль за recall — це рішення про поріг, а не про модель.
Specificity
- Висока специфічність на даних із рідкісними позитивами — не досягнення.
- Специфічність — не достовірність.
- 1 − специфічність — це відсоток хибних позитивних результатів.
F1-score
- Однакове зважування — рішення, яке ви ухвалюєте мовчки.
- F1 ігнорує істинні негативні результати.
- Він не визначений лише тоді, коли позитивного немає взагалі.
- Не порівнюйте F1 між наборами даних.
ROC AUC
- Подавайте оцінки, ніколи не мітки.
- AUC лестить на незбалансованих даних.
- Він нічого не каже про калібрування.
- Одне число приховує форму кривої.
Cross-entropy
- Читати лог-втрату без базової частоти.
- Порівнювати лог-втрати між наборами даних.
- Робити з гіршої лог-втрати висновок, що модель гірша.
- Дозволяти ймовірності сягнути 0 або 1.
- Усереднювати лог-втрату по незбалансованій вибірці й називати це підсумком моделі.
- Плутати біти й нати.
- Оптимізувати її, а подавати точність.
Model calibration
- Підбір температури на навчальних даних.
- Судження про калібрування за надто малої кількості зразків у біні.
- Прочитання покращення Brier чи логарифмічної втрати як покращення калібрування.
- Плутанина калібрування з точністю.
- Припущення, що більша модель краще відкалібрована.
- Перекалібрування на даних з іншим балансом класів.
Class imbalance
- Подавати точність.
- Пересемплувати перед поділом.
- Пересемплувати тестову вибірку.
- Забувати, що пересемплування ламає калібрування.
- Читати ROC-AUC так, ніби він операційний.
- Припускати, що поширеність у розгортанні дорівнює тестовій.