Аналитика / Метрики классификации
Средняя точность AP по ранжированным оценкам модели
Average precision усредняет точность по порогам с весами, равными приростам полноты. Для разных оценок объектов это среднее точностей на позициях истинно положительных объектов.
Формула
Каждая из трёх полок имеет ширину 1/3; их площади складываются в 34/45. Точки справа показывают значения при приростах полноты.
Обозначения
- $AP$
- средняя точность ранжирования, —
- $Pᵢ$
- точность среди объектов с оценкой не ниже порога i, —
- $Rᵢ$
- полнота при том же пороге, —
- $m$
- число различных порогов по оценкам, —
- $i$
- индекс в порядке снижения порога, —
Условия применения
Есть истинные бинарные метки и числовые оценки, где большая оценка означает большую уверенность в положительном классе. В выборке есть положительные объекты. Одинаковые оценки объединяют в одну пороговую группу.
Ограничения
Здесь используется невзвешенная по объектам ступенчатая AP без интерполяции точности. Трапецеидальная площадь под кривой precision–recall может отличаться. Значение зависит от доли положительных объектов и не заменяет точность на выбранном пороге.
Подробное объяснение
Сначала возьмём только объекты с наивысшей оценкой и постепенно будем снижать порог. Когда список пополняется истинно положительным объектом, полнота растёт. Если добавился только отрицательный, полнота не изменилась, поэтому очередной член суммы имеет нулевой вес.
На каждом пороге измеряем точность накопленного списка: число истинно положительных делим на его длину. Вес равен доле всех положительных объектов, которая впервые попала в список на этом пороге. Когда рассмотрена вся выборка, эти веса в сумме дают единицу.
Если все оценки различны, каждый положительный объект прибавляет одинаковый вес 1/n₊. Тогда можно пройти только по его позициям: на позиции r точность равна числу уже найденных положительных, делённому на r. При одинаковых оценках этот способ применяют к целому блоку, не сортируя совпадения по истинной метке.
При идеальном порядке все положительные идут раньше отрицательных, и точность на каждом приросте полноты равна единице. В плохом ранжировании ранние ложные срабатывания уменьшают точность на следующих порогах. Метрика не проводит между соседними точками прямые, поэтому её нельзя заменять интегрированием трапеций.
Как пользоваться формулой
- Отсортируйте объекты по убыванию оценки и заранее подсчитайте полное число истинно положительных меток.
- Добавляйте объекты с одинаковой оценкой одним блоком; после блока посчитайте число найденных положительных и длину списка.
- Вычислите точность списка и прирост полноты: новые положительные в блоке делятся на общее число положительных.
- Умножьте точность на прирост полноты и сложите вклады всех блоков; блоки без положительных дают ноль.
Историческая справка
В оценке информационного поиска AP применяется к одному запросу: берут точность после каждого найденного релевантного документа и усредняют по релевантным документам. Обзор конференции TREC 2006 года описывает неинтерполированный вариант и отдельно учитывает нулевой вклад релевантных документов, которые система вообще не вернула.
В бинарной классификации та же идея переносится на порядок объектов по оценке. Документация scikit-learn записывает среднее через приросты полноты, поэтому несколько объектов с одной оценкой можно обработать одним порогом. Среднее по запросам в поиске обычно называют MAP; это дополнительный уровень усреднения поверх AP.
Историческая линия формулы
Здесь используется традиция неинтерполированной average precision из оценки информационного поиска, документированная NIST в материалах TREC. Современная пороговая запись совпадает с усреднением точностей на положительных позициях при различных оценках и полном списке объектов.
Пример
Пять объектов упорядочены по убыванию различных оценок. Последовательность истинных меток: 1, 0, 1, 0, 1. Найдём AP без интерполяции. Положительные стоят на позициях 1, 3 и 5. Полнота на каждой из них растёт на 1/3, а точности равны 1/1, 2/3 и 3/5. На позициях 2 и 4 полнота не растёт. Складываем: AP=(1+2/3+3/5)/3=34/45≈0,7556. Все слагаемые — произведения долей, поэтому результат безразмерен. Он лежит между наименьшей и наибольшей точностью с ненулевым весом, то есть между 0,6 и 1. Это оценка порядка на пяти объектах, а не точность одного порога.
Частая ошибка
Не усредняйте точность по всем позициям подряд: отрицательные без положительных в блоке не меняют полноту. Не разрешайте ничьи по истинным меткам, иначе результат зависит от недоступной при применении информации. Не сравнивайте AP одной модели с трапецеидальной площадью другой без пересчёта общей метрики.
Практика
Задачи с решением
Два одинаковых балла
Условие. Объекты с метками 1 и 0 получили 0,9. Ещё один положительный получил 0,8. Найдите AP.
Решение. Первый блок даёт P=1/2 и ΔR=1/2. Второй даёт P=2/3 и ΔR=1/2. Складываем 1/4+1/3.
Ответ. AP=7/12≈0,5833.
Положительные внизу списка
Условие. Для разных оценок метки в порядке убывания равны 0, 0, 1, 1. Какова AP?
Решение. Положительные на позициях 3 и 4. На них точности 1/3 и 2/4, обе с весом 1/2.
Ответ. AP=5/12≈0,4167.
Дополнительные источники
- https://scikit-learn.org/stable/modules/generated/sklearn.metrics.average_precision_score.html
- https://trec.nist.gov/pubs/trec15/papers/OVERVIEW.pdf
Связанные формулы
Аналитика
Precision для положительного класса
Precision показывает, какая часть объектов, помеченных моделью как положительные, действительно положительна. Метрика важна, когда ложные срабатывания дороги: модерация, лиды, диагностика, ручная проверка.
Аналитика
Recall для положительного класса
Recall показывает, какую долю настоящих положительных объектов модель нашла. Метрика важна, когда опаснее пропустить нужный случай, чем получить лишнее срабатывание: риск, дефекты, заявки.
Аналитика
ROC AUC методом трапеций по точкам
ROC AUC методом трапеций по точкам: формула AUC=\sum\frac{TPR_i+TPR_{i-1}}{2}(FPR_i-FPR_{i-1}) помогает величины AUC, TPR, FPR заданы для одной и той же ситуации, периода или объекта. В тексте есть условия, пример, ошибки и проверка результата.
Аналитика
Сбалансированная точность бинарной классификации
Сбалансированная точность усредняет доли верных ответов внутри двух истинных классов. Положительный и отрицательный классы получают равный вес, даже если в выборке объектов одного класса намного больше.