Перейти к содержанию
Избранное

Калькулятор матрицы ошибок

Обновлено:

Введите четыре значения матрицы ошибок (TP, FP, FN, TN) и мгновенно получите аккуратность, точность, полноту, специфичность и F1-меру — в долях или в процентах.

Доля правильных ответов, точность, полнота и F1-мера по матрице ошибок

Поля ввода
Значения матрицы ошибок
TP
Положительные случаи, правильно классифицированные как положительные.
FP
Отрицательные случаи, ошибочно отнесённые к положительным (ошибки I рода).
FN
Положительные случаи, ошибочно отнесённые к отрицательным (ошибки II рода).
TN
Отрицательные случаи, правильно классифицированные как отрицательные.
Параметры вывода
Если включено, результат будет автоматически обновляться при изменении любого значения.

Матрица ошибок

Формула
\[ n = TP + FP + FN + TN \\ \text{Аккуратность} = \frac{TP + TN}{n} \\ \text{Точность} = \frac{TP}{TP + FP} \\ \text{Полнота} = \frac{TP}{TP + FN} \\ \text{Специфичность} = \frac{TN}{TN + FP} \\ F_1 = \frac{2TP}{2TP + FP + FN} = \frac{2 \cdot \text{Точность} \cdot \text{Полнота}}{\text{Точность} + \text{Полнота}} \]

Обозначения:

  • \(TP\) — истинно положительные: объекты положительного класса, верно распознанные как положительные;
  • \(FP\) — ложноположительные: объекты отрицательного класса, ошибочно отнесённые к положительному (ошибки первого рода);
  • \(FN\) — ложноотрицательные: объекты положительного класса, ошибочно отнесённые к отрицательному (ошибки второго рода);
  • \(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 % (при выводе в процентах).

Как пользоваться калькулятором

  1. Подсчитайте, сколько объектов попадает в каждую ячейку вашей матрицы ошибок, и введите значения в поля Истинно положительные, Ложноположительные, Ложноотрицательные и Истинно отрицательные. Все четыре значения должны быть целыми числами \(\ge 0\).
  2. Выберите формат вывода Показывать метрики как: «Доли (0–1)» для десятичных значений или «Проценты (0–100 %)» для значений в процентах.
  3. Прочитайте результаты: Всего предсказаний, Аккуратность, Точность (прогностическая ценность положительного результата), Полнота (чувствительность, доля истинно положительных), Специфичность (доля истинно отрицательных) и F1-мера, а также сводку о том, как вычисляются метрики и как их интерпретировать.
  4. Если метрика показана как «—», её знаменатель оказался нулевым — например, точность не определена, когда модель ни разу не предсказала положительный класс (\(TP + FP = 0\)).

Что такое матрица ошибок?

Матрица ошибок — это базовый «отчёт об успеваемости» бинарного классификатора. Это таблица 2×2, в которой истинный класс каждого объекта (положительный или отрицательный) сопоставляется с классом, который предсказала модель. Четыре ячейки — истинно положительные, ложноположительные, ложноотрицательные и истинно отрицательные — покрывают все возможные исходы, поэтому их сумма \(n\) равна общему числу классифицированных объектов. Уже из этих четырёх чисел можно вывести любую стандартную меру качества классификации.

Каждая из пяти вычисляемых здесь метрик отвечает на свой вопрос. Аккуратность спрашивает: какая доля всех предсказаний в целом верна? Точность спрашивает: когда модель говорит «положительный», как часто она права? Низкая точность означает много ложных тревог. Полнота (её также называют чувствительностью или долей истинно положительных) спрашивает: какую долю действительно положительных объектов модель обнаружила? Низкая полнота означает пропущенные случаи. Специфичность — это полнота для отрицательного класса: насколько хорошо модель распознаёт истинно отрицательные объекты. F1 — гармоническое среднее точности и полноты, уравновешивающее обе метрики: оно высоко, только когда высоки обе.

Почему бы не обойтись одной аккуратностью? Потому что она вводит в заблуждение при несбалансированных классах. Если положительные объекты составляют лишь 1 %, тривиальная модель, объявляющая всё отрицательным, получит аккуратность 99 %, не найдя ни одного положительного объекта. Точность, полнота и F1 сфокусированы на положительном классе и сразу вскрывают такие провалы. Какая метрика важнее, зависит от цены ошибок: при скрининге онкозаболеваний пропущенная опухоль (ложноотрицательный результат) гораздо хуже ложной тревоги, поэтому приоритет отдают полноте; в антиспам-фильтре потерянное легитимное письмо (ложноположительный результат) может обойтись дороже, и тогда важнее точность.

В медицине и эпидемиологии те же числа носят другие названия: полнота — это чувствительность, точность — прогностическая ценность положительного результата (ПЦПР), а доля реальных положительных случаев \((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) \), а J-статистика Юдена — это полнота + специфичность − 1. Если источник приводит процент, сначала переведите его в долю, прежде чем подставлять в формулы вроде гармонического среднего для F1.

Почему моя F1-мера ниже и точности, и полноты?

Так и должно быть — это не ошибка. F1 — это гармоническое среднее, которым управляет меньшее из двух значений. Например, при точности 0,95 и полноте 0,55 F1 составит примерно 0,70 — гораздо ближе к слабой полноте, чем подсказало бы арифметическое среднее (0,75). Это штрафует классификаторы, сильные в одной метрике и провальные в другой, — именно поэтому F1 предпочитают простому среднему.

А что с отрицательным классом — есть ли прогностическая ценность отрицательного результата?

Да. Аналог точности для отрицательного класса — прогностическая ценность отрицательного результата (ПЦОР): \( TN/(TN + FN) \) — вероятность того, что предсказание «отрицательный» действительно верно. В отличие от чувствительности и специфичности, ПЦПР и ПЦОР зависят от распространённости классов, поэтому один и тот же тест может иметь высокую ПЦОР в популяции с низкой распространённостью даже при умеренной специфичности. Используйте её, когда важна надёжность отрицательных результатов — например, чтобы исключить заболевание.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *