Что такое калькулятор Accuracy?
Accuracy (точность) — одна из самых популярных метрик для оценки моделей классификации. Она показывает, какую долю всех предсказаний модель сделала правильно: как верно угаданные положительные классы, так и верно угаданные отрицательные. Калькулятор берёт четыре ячейки матрицы ошибок (confusion matrix) и переводит их в значение точности — сразу в виде доли и процента.
Как пользоваться калькулятором
Введите четыре значения из вашей матрицы ошибок:
- TP (True Positives) — положительные случаи, которые модель верно отнесла к положительному классу.
- TN (True Negatives) — отрицательные случаи, верно отнесённые к отрицательному классу.
- FP (False Positives) — отрицательные случаи, ошибочно помеченные как положительные.
- FN (False Negatives) — положительные случаи, ошибочно отнесённые к отрицательным.
Результат рассчитывается автоматически. Нет калькулятора под рукой? Просто сложите четыре числа и подставьте их в формулу ниже.
Разбор формулы
$$\text{Accuracy} = \dfrac{TP + TN}{TP + TN + FP + FN}$$ В числителе — все правильные предсказания, в знаменателе — общее число предсказаний. Чтобы получить процент, умножьте результат на 100.
$$\text{Accuracy \%} = \text{Accuracy} \times 100$$
Пример расчёта
Допустим, модель даёт \(TP = 80\), \(TN = 70\), \(FP = 20\), \(FN = 30\). Правильных предсказаний: \(80 + 70 = 150\). Всего: \(80 + 70 + 20 + 30 = 200\). $$\text{Accuracy} = \dfrac{150}{200} = 0{,}75$$ то есть 75%.
Частые вопросы
Всегда ли Accuracy — хорошая метрика? Нет. На несбалансированных данных (например, когда 95% случаев относятся к отрицательному классу) модель может показать высокую точность, просто всегда предсказывая преобладающий класс. Обязательно смотрите также на precision, recall и F1-меру.
В каких пределах меняется Accuracy? От 0 (все предсказания неверны) до 1 (все верны), или от 0% до 100%.
Подходит ли метрика для многоклассовой задачи? Да. В этом случае \(TP + TN\) — это общее количество верно классифицированных объектов по всем классам, а в знаменателе — общее число объектов.
Точность в различных сценариях
Одна и та же формула точности \(\text{Точность} = \frac{\text{ИП} + \text{ИО}}{\text{ИП} + \text{ИО} + \text{ЛП} + \text{ЛО}} \times 100\%\) может скрывать совершенно разное поведение модели. В каждом из приведённых ниже сценариев используется всего 100 случаев, поэтому проценты можно напрямую сравнивать.
| Сценарий | ИП | ИО | ЛП | ЛО | Точность |
|---|---|---|---|---|---|
| Сбалансированный датасет, хорошая модель | 45 | 45 | 5 | 5 | 90% |
| Несбалансированный, большинство отрицательные (редкое заболевание) | 2 | 93 | 2 | 3 | 95% |
| «Всегда предсказывать отрицательное» — базовое решение | 0 | 95 | 0 | 5 | 95% |
| Много ложных положительных (чрезмерное срабатывание) | 48 | 22 | 28 | 2 | 70% |
| Много ложных отрицательных (пропущенные положительные) | 20 | 50 | 0 | 30 | 70% |
Ключевой вывод — сравнение второй и третьей строк: модель, которая просто предсказывает класс большинства, получает такие же 95%, как и модель, которая на самом деле обнаруживает некоторые положительные случаи. На сбалансированном датасете (строка 1) точность гораздо более информативна. Последние две строки показывают, что две модели с одинаковой точностью 70% могут ошибаться противоположным, несовместимым образом — одна заваливает вас ложными тревогами, другая молча пропускает положительные случаи.
Интерпретация вашей оценки точности
Точность — это доля всех предсказаний, которые классификатор угадал правильно — как положительные, так и отрицательные. Точность 90% означает, что 9 из каждых 10 случаев были размечены правильно, а дополнительная частота ошибок составляет \(100\% - 90\% = 10\%\). Это интуитивно и легко донести до других, именно поэтому её так часто неправильно понимают.
Всегда сравнивайте с базовым решением без информации. Самая честная проверка здравомыслия — это базовое решение класса большинства: точность, которую вы получите, если всегда предсказываете самый частый класс. Если 95% ваших случаев отрицательные, классификатор, который слепо предсказывает «отрицательное» каждый раз, уже получает 95%. Реальная модель должна превзойти эту базовую линию, чтобы быть хоть что-то стоящей — точность 95% впечатляет при разделении 50/50 и бесполезна при разделении 95/5.
Когда высокая точность вводит в заблуждение. На сильно несбалансированных данных точность доминируется классом большинства. Детектор мошенничества, скринер редких заболеваний или детектор дефектов могут сообщать о точности 99%, при этом не обнаруживая почти ни один из редких положительных случаев, которые действительно имеют значение. В таких ситуациях стоимость ложного отрицательного и ложного положительного обычно сильно различается, и один общий процент не может это отразить.
Метрики, дополняющие точность:
- Точность (Precision) — из случаев, предсказанных как положительные, сколько действительно были: \(\text{ИП}/(\text{ИП}+\text{ЛП})\). Используйте, когда ложные положительные дорогостоящие.
- Полнота (Recall, чувствительность) — из фактических положительных, сколько вы поймали: \(\text{ИП}/(\text{ИП}+\text{ЛО})\). Используйте, когда пропуск положительного дорогостоящий.
- Специфичность — из фактических отрицательных, сколько вы правильно прошли: \(\text{ИО}/(\text{ИО}+\text{ЛП})\).
- F1-оценка — среднее гармоническое точности и полноты, одно число, уравновешивающее оба показателя для класса положительного.
- Сбалансированная точность — среднее чувствительности и специфичности, которое исправляет дисбаланс классов и является лучшей главной цифрой, когда классы перекошены.
Для сбалансированного примера выше (ИП=45, ЛП=5, ЛО=5) полнота и точность обе равны \(45/50 = 90\%\), поэтому точность, точность и полнота совпадают — признак хорошо сбалансированного датасета. Когда они сильно расходятся, доверяйте метрикам для каждого класса больше, чем одному числу точности. Это общая техническая информация, а не замена специфичной для вашей предметной области оценки вашей конкретной задачи.
Определения и словарь
- Истинно положительный (ИП)
- Положительный случай, который модель правильно предсказала как положительный (например, больной пациент помечен как больной).
- Истинно отрицательный (ИО)
- Отрицательный случай, который модель правильно предсказала как отрицательный (например, здоровый пациент помечен как здоровый).
- Ложно положительный (ЛП)
- Отрицательный случай, неправильно предсказанный как положительный — ложная тревога. Также называется ошибкой первого рода.
- Ложно отрицательный (ЛО)
- Положительный случай, неправильно предсказанный как отрицательный — пропуск. Также называется ошибкой второго рода.
- Матрица ошибок
- Таблица 2×2, перекрёстно табулирующая предсказанные и фактические классы, с ИП, ИО, ЛП и ЛО в четырёх ячейках. Это источник почти всех метрик классификации.
- Точность
- Доля всех предсказаний, которые верны: \((\text{ИП}+\text{ИО})/(\text{ИП}+\text{ИО}+\text{ЛП}+\text{ЛО})\), обычно выражается в процентах.
- Частота ошибок
- Доля предсказаний, которые неверны: \((\text{ЛП}+\text{ЛО})/(\text{ИП}+\text{ИО}+\text{ЛП}+\text{ЛО}) = 1 - \text{Точность}\).
- Точность (Precision)
- Положительная прогностическая ценность: \(\text{ИП}/(\text{ИП}+\text{ЛП})\) — насколько надёжно положительное предсказание.
- Полнота (Recall)
- Чувствительность или истинная положительная ставка: \(\text{ИП}/(\text{ИП}+\text{ЛО})\) — сколько фактических положительных были найдены.
- Специфичность
- Истинная отрицательная ставка: \(\text{ИО}/(\text{ИО}+\text{ЛП})\) — сколько фактических отрицательных были правильно определены.
- F1-оценка
- Среднее гармоническое точности и полноты: \(2 \cdot \frac{\text{Точность} \cdot \text{Полнота}}{\text{Точность} + \text{Полнота}}\), одно уравновешенное измерение производительности класса положительного.