Аналитика / Метрики классификации

Сбалансированная точность бинарной классификации

Сбалансированная точность усредняет доли верных ответов внутри двух истинных классов. Положительный и отрицательный классы получают равный вес, даже если в выборке объектов одного класса намного больше.

Опубликовано: Обновлено:

Формула

$$\operatorname{BA}=\frac12\left(\frac{TP}{TP+FN}+\frac{TN}{TN+FP}\right)$$
Схема Как доля класса влияет на две оценки
0.10.30.50.70.90.70.7250.750.7750.8Значение оценкиДоля +ТочностьСбалансированная

При чувствительности 0,8 и специфичности 0,7 обычная точность зависит от состава теста, а BA остаётся 0,75.

Обозначения

$TP$
истинно положительные решения, объекты
$TN$
истинно отрицательные решения, объекты
$FP$
ложноположительные решения, объекты
$FN$
ложноотрицательные решения, объекты
$BA$
сбалансированная точность, —

Условия применения

У каждого наблюдения есть истинная и предсказанная метка из двух классов. В тестовой выборке должны присутствовать оба истинных класса. Рассматривается обычная версия оценки без вычитания уровня случайного угадывания.

Ограничения

Одинаковый вес классов не равен одинаковой стоимости отдельных ошибок. При редком классе его полнота может меняться скачками из-за одного объекта. По одной средней нельзя восстановить две доли или оценить вероятность того, что отдельное положительное решение верно.

Подробное объяснение

Первое отношение берётся только среди объектов истинного положительного класса. Оно равно чувствительности, или полноте положительного класса. Второе берётся среди истинных отрицательных объектов и равно специфичности. Среднее этих величин отвечает на вопрос о качестве при равном весе классов.

В обычной доле правильных ответов чувствительность и специфичность тоже складываются, но с весами, равными долям классов в тесте. Когда положительных объектов 10%, хорошая специфичность способна скрыть плохую чувствительность. Сбалансированная точность устраняет именно это влияние состава выборки.

Если один класс вообще не распознаётся, его вклад равен нулю. Классификатор, всегда выбирающий отрицательный ответ, при наличии обоих истинных классов имеет чувствительность 0 и специфичность 1, а среднее равно 0,5. Систематическая перестановка обеих меток даёт ноль.

Метрику удобно читать рядом с самой матрицей ошибок. Две модели с чувствительностью и специфичностью 0,9 и 0,6 либо 0,75 и 0,75 получат одинаковую среднюю. Если пропуск положительного случая особенно дорог, предпочтение следует обосновать отдельно по чувствительности и цене ошибок.

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

  1. Постройте матрицу ошибок на проверочной выборке при одном фиксированном пороге классификации.
  2. Среди всех истинно положительных объектов найдите долю распознанных; в знаменатель входят TP и FN.
  3. Среди всех истинно отрицательных объектов найдите долю распознанных; в знаменатель входят TN и FP.
  4. Сложите две доли, разделите на два и сохраните рядом обе исходные доли для сравнения моделей.

Историческая справка

В работе 2010 года Кай Бродерсен, Чэн Сун Он, Клас Штефан и Йоахим Буман рассматривали, как оценивать классификацию при неодинаковом числе объектов классов. Среднее чувствительности и специфичности служило исходной характеристикой; авторы исследовали также её апостериорное распределение, чтобы описать неопределённость оценки на конечной выборке.

В документации scikit-learn та же идея расширена до среднего полнот по всем классам. Для бинарной задачи это сводится к двум дробям из матрицы ошибок. Отдельная настройка библиотеки корректирует оценку относительно случайного уровня, поэтому при сравнении результатов важно записать, какая версия использовалась.

Историческая линия формулы

Работа Бродерсена и соавторов служит источником определения и анализа сбалансированной точности, но сам расчёт складывается из двух давно используемых условных долей. Здесь приведена бинарная оценка без поправки на случайный уровень и без байесовского интервала.

Пример

В проверке на 100 объектах 10 действительно положительны. Модель распознала восемь из десяти положительных и 63 из 90 отрицательных. Найдём сбалансированную точность. Здесь TP=8, FN=2, TN=63, FP=27. Первая доля равна 8/(8+2)=0,8, вторая — 63/(63+27)=0,7. Тогда BA=(0,8+0,7)/2=0,75. Доли не имеют единиц, поэтому ответ также безразмерен. Для сравнения обычная точность равна (8+63)/100=0,71. Она ближе к специфичности 0,7, потому что отрицательных объектов в девять раз больше. Сбалансированная точность 0,75 лежит ровно посередине двух долей.

Частая ошибка

Не подменяйте чувствительность точностью положительных предсказаний: у этих долей разные знаменатели. Не округляйте каждую долю до целого процента перед усреднением малой выборки. Если истинных объектов какого-либо класса нет, не подставляйте за него единицу: выбранная двухклассовая формула тогда не определена.

Практика

Задачи с решением

Всегда отрицательный ответ

Условие. Из 500 наблюдений 20 положительны. Модель предсказывает только отрицательный класс. Найдите BA и обычную точность.

Решение. Чувствительность 0/20=0, специфичность 480/480=1. Среднее равно 0,5; обычная доля верных равна 480/500.

Ответ. BA=0,5, точность 0,96.

Восстановление специфичности

Условие. BA=0,82, чувствительность 0,9. Какова специфичность?

Решение. Из удвоенного среднего 1,64 вычитаем чувствительность 0,9. Полученная доля не превышает единицы.

Ответ. Специфичность 0,74.

Дополнительные источники

  • https://scikit-learn.org/stable/modules/generated/sklearn.metrics.balanced_accuracy_score.html
  • https://www.ong-home.my/papers/brodersen10post-balacc.pdf

Связанные формулы

Аналитика

Матрица ошибок бинарной классификации

$N=TP+TN+FP+FN$

Матрица ошибок раскладывает бинарные решения на TP, TN, FP и FN. Это исходная таблица для accuracy, precision, recall, specificity и F1, поэтому сначала проверяют класс, порог и сумму ячеек.

Аналитика

Accuracy как доля правильных классификаций

$\mathrm{Accuracy}=\frac{TP+TN}{TP+TN+FP+FN}$

Accuracy - доля верных ответов среди всех объектов. Метрика быстро показывает общий уровень классификации, но хорошо читается только при сопоставимых классах и близкой цене ложных тревог и пропусков.

Аналитика

Specificity классификатора

$\mathrm{Specificity}=\frac{TN}{TN+FP}$

Specificity показывает, какую долю настоящих отрицательных объектов модель оставила отрицательными. Метрика дополняет recall и важна там, где надо ограничить ложные тревоги при фиксированном положительном классе.

Аналитика

Коэффициент Мэтьюса для бинарных предсказаний

$\operatorname{MCC}=\frac{TP\,TN-FP\,FN}{\sqrt{(TP+FP)(TP+FN)(TN+FP)(TN+FN)}}$

Коэффициент Мэтьюса измеряет корреляцию между истинными и предсказанными бинарными метками. В нём участвуют все четыре числа матрицы ошибок, включая верно распознанные отрицательные объекты.