Калькулятор матриці помилок
Введіть чотири значення матриці помилок (TP, FP, FN, TN), щоб миттєво отримати точність, прецизійність, повноту, специфічність та F1-міру — у вигляді часток або відсотків.
Точність, прецизійність, повнота та F1 за матрицею помилок
Матриця помилок
Де:
- \(TP\) — істинно позитивні: позитивні випадки, правильно класифіковані як позитивні
- \(FP\) — хибно позитивні: негативні випадки, помилково класифіковані як позитивні (помилки I роду)
- \(FN\) — хибно негативні: позитивні випадки, помилково класифіковані як негативні (помилки II роду)
- \(TN\) — істинно негативні: негативні випадки, правильно класифіковані як негативні
- \(n\) — загальна кількість класифікованих випадків
Усі п’ять метрик набувають значень від 0 (найгірший результат) до 1 (ідеальний) і характеризують різні аспекти роботи бінарного класифікатора. Якщо знаменник дорівнює нулю, відповідна метрика не визначена, і калькулятор показує «—».
Матриця помилок — приклад обчислення
Приклад: модель перевірила 150 випадків. Вона правильно позначила 45 позитивних випадків (TP) і пропустила 15 (FN), а також правильно пропустила 80 негативних (TN) і підняла 10 хибних тривог (FP).
\[ n = 45 + 10 + 15 + 80 = 150 \]
\[ \text{Точність} = \frac{45 + 80}{150} = 0.8333 \quad (83.33\%) \]
\[ \text{Прецизійність} = \frac{45}{45 + 10} = 0.8182 \quad (81.82\%) \]
\[ \text{Повнота} = \frac{45}{45 + 15} = 0.75 \quad (75\%) \]
\[ \text{Специфічність} = \frac{80}{80 + 10} = 0.8889 \quad (88.89\%) \]
\[ F_1 = \frac{2 \times 45}{2 \times 45 + 10 + 15} = \frac{90}{115} = 0.7826 \quad (78.26\%) \]
Результат: точність 83,33 %, прецизійність 81,82 %, повнота 75 %, специфічність 88,89 %, F1-міра 78,26 % (якщо вивід налаштовано на відсотки).
Як користуватися калькулятором
- Порахуйте, скільки випадків припадає на кожну клітинку вашої матриці помилок, і введіть значення в поля Істинно позитивні, Хибно позитивні, Хибно негативні та Істинно негативні. Усі чотири значення мають бути цілими числами \(\ge 0\).
- Виберіть параметр Показувати метрики як: «Частки (0–1)» для десяткових значень або «Відсотки (0–100 %)» для значень у відсотках.
- Зчитайте результати: Загальна кількість передбачень, Точність, Прецизійність (позитивне прогностичне значення), Повнота (чутливість, частка істинно позитивних), Специфічність (частка істинно негативних) та F1-міра, а далі — стислий підсумок того, як обчислено метрики та як їх інтерпретувати.
- Якщо метрика показана як «—», її знаменник дорівнював нулю: наприклад, прецизійність не визначена, коли модель жодного разу не передбачила позитивний клас (\(TP + FP = 0\)).
Що таке матриця помилок?
Матриця помилок — це базова «оцінка успішності» бінарного класифікатора. Це таблиця 2×2, у якій справжній клас кожного випадку (позитивний чи негативний) зіставлено з класом, передбаченим моделлю. Чотири клітинки — істинно позитивні, хибно позитивні, хибно негативні та істинно негативні — охоплюють усі можливі результати, тому їхня сума \(n\) дорівнює загальній кількості класифікованих випадків. Лише з цих чотирьох чисел можна вивести будь-яку стандартну міру якості класифікації.
Кожна з п’яти метрик, що обчислюються тут, відповідає на інше запитання. Точність запитує: яка загалом частка правильних передбачень? Прецизійність запитує: коли модель каже «позитивний», наскільки часто вона має рацію? Низька прецизійність означає багато хибних тривог. Повнота (її також називають чутливістю або часткою істинно позитивних) запитує: з усіх випадків, що справді є позитивними, скільки з них виявила модель? Низька повнота означає пропущені випадки. Специфічність — це «повнота для негативного класу»: наскільки добре модель розпізнає істинно негативні випадки. F1 — гармонійне середнє прецизійності та повноти, яке врівноважує ці дві метрики: воно високе лише тоді, коли обидві високі.
Чому б просто не обмежитися точністю? Бо вона вводить в оману, коли класи незбалансовані. Якщо лише 1 % випадків позитивні, тривіальна модель, яка все позначає як негативне, отримає 99 % точності, не виявивши жодного позитивного випадку. Прецизійність, повнота та F1 зосереджені на позитивному класі й одразу викривають такі збої. Яка метрика найважливіша, залежить від ціни помилок: у скринінгу на рак пропущена пухлина (хибно негативний результат) набагато гірша за хибну тривогу, тому пріоритет має повнота; у спам-фільтрі втрачений легітимний лист (хибно позитивний) може завдати більшої шкоди, тож важливіша прецизійність.
У медичному та епідеміологічному контекстах ті самі числа мають інші назви: повнота — це чутливість, прецизійність — позитивне прогностичне значення (PPV), а частка справді позитивних випадків \((TP + FN)/n\) — поширеність. Якщо відомі чутливість, специфічність і поширеність тесту, прогностичні значення можна вивести за допомогою теореми Байєса.
Припущення, обмеження та практичні поради
- Калькулятор розглядає чотири значення як точні цілі числа з одного класифікаційного прогону. Припускається, що кожен випадок належить рівно одній клітинці, а «позитивним» є той клас, виявлення якого вас цікавить.
- Усі метрики обчислюються за введеною вибіркою, тому це оцінки, чутливі до похибки вибірки. За малих кількостей (скажімо, менше 30 позитивних випадків) подавайте довірчий інтервал — для часток добре підходить інтервал Вілсона — а не «голе» відсоткове значення.
- Метрики з нульовим знаменником не визначені й показуються як «—»: прецизійність — коли не передбачено жодного позитивного випадку, повнота — коли немає справжніх позитивних випадків, специфічність — коли немає справжніх негативних, F1 — коли прецизійність і повнота дорівнюють нулю.
- F1 зважує прецизійність і повноту однаково. Якщо у вашій задачі одна з них важливіша, скористайтеся мірою \(F_\beta\) (наприклад, \(F_2\) надає перевагу повноті, \(F_{0.5}\) — прецизійності).
- Матриця помилок нічого не говорить про те, чому модель помиляється або як вона порівнюється з іншою моделлю на тих самих даних. Щоб перевірити, чи відрізняються два класифікатори (або два експерти) статистично значуще на парних результатах, використовуйте тест Мак-Німара; для незалежних часток застосовні Z-тест для двох часток або точний тест Фішера.
- Матриця помилок потребує жорстких (бінарних) рішень. Якщо ваша модель видає ймовірності, значення клітинок — а отже, і всі метрики — залежать від порогу, який ви обрали для перетворення оцінок на мітки, тому завжди вказуйте поріг разом із метриками.
Часті запитання
Яке значення F1-міри або точності вважається хорошим?
Універсального «хорошого» значення не існує — все залежить від сфери та ціни помилок. Орієнтовно: понад 0,9 — відмінно для добре вивчених задач на кшталт розпізнавання цифр, 0,7–0,9 часто прийнятно для класифікації текстів, а 0,5–0,7 може бути цінним у «шумних» галузях, як-от медичне прогнозування. Завжди порівнюйте результат із базовою лінією (наприклад, завжди передбачати мажоритарний клас), а не з абсолютним числом.
Як обчислити метрики вручну, без калькулятора?
Запишіть чотири значення у сітку 2×2: передбачені класи — стовпцями, справжні — рядками. Точність — це сума діагоналі, поділена на загальну кількість; прецизійність — TP, поділене на суму першого стовпця; повнота — TP, поділене на суму першого рядка; специфічність — TN, поділене на суму другого рядка. F1 — гармонійне середнє: помножте прецизійність на повноту, подвойте добуток і поділіть на їхню суму. Кожне значення лежить між 0 і 1; помножте на 100, щоб отримати відсоток.
Які найпоширеніші помилки під час заповнення матриці помилок?
Класична помилка — переплутати хибно позитивні та хибно негативні результати. Запам’ятайте: хибно позитивний — це випадок, який модель передбачила як позитивний, але насправді він негативний (хибна тривога), а хибно негативний — передбачений негативним, але насправді позитивний (пропуск). Також переконайтеся, що орієнтація матриці відповідає вашій конвенції: деякі інструменти розміщують справжні класи у стовпцях, а передбачення — у рядках, що транспонує таблицю й міняє місцями FP і FN.
Чи працює цей калькулятор із многокласовими матрицями помилок?
Ні — він призначений лише для бінарних (двокласових) задач. Для многокласових задач можна побудувати окрему матрицю 2×2 для кожного класу, трактуючи цей клас як «позитивний», а всі інші — як «негативні», потім обчислити прецизійність, повноту і F1 для кожного класу та усереднити їх (макро- або мікроусереднення). Альтернативно такі метрики, як коефіцієнт кореляції Метьюза (MCC) і капа Коена, безпосередньо узагальнюються на більші квадратні матриці.
Як переходити між частками, відсотками та шансами?
Частка 0,85 дорівнює 85 % — просто помножте на 100 (або поділіть на 100 для зворотного переходу). Деякі галузі натомість подають шанси: відношення шансів класифікатора — \( (TP \cdot TN)/(FP \cdot FN) \), а статистика Юдена — повнота + специфічність − 1. Якщо джерело подає відсоток, спершу перетворіть його на частку, перш ніж використовувати у формулах на кшталт гармонійного середнього для F1.
Чому моя F1-міра нижча і за прецизійність, і за повноту?
Це очікувана поведінка, а не помилка. F1 — гармонійне середнє, яким керує менше з двох значень. Наприклад, за прецизійності 0,95 і повноти 0,55 F1 становить приблизно 0,70 — значно ближче до слабкої повноти, ніж підказувало б арифметичне середнє (0,75). Це карає класифікатори, які сильні в одній метриці й слабкі в іншій, — і саме тому F1 переважають над простим середнім.
А що з негативним класом — чи існує негативне прогностичне значення?
Так. Аналог прецизійності для негативного класу — негативне прогностичне значення (NPV): \( TN/(TN + FN) \), тобто ймовірність того, що передбачення «негативний» справді є негативним. На відміну від чутливості та специфічності, PPV і NPV залежать від поширеності класів, тому один і той самий тест може мати високе NPV у популяції з низькою поширеністю навіть за помірної специфічності. Використовуйте його, коли важлива надійність негативних результатів, наприклад для виключення хвороби.