Почему ROC AUC не зависит от порога сечения, а Precision зависит?
Что проверяют
Различаете ли вы метрики ранжирования и метрики принятого решения. Вопрос простой на вид, но по ответу видно, работали ли вы с дисбалансом классов и понимаете ли, что модель отдаёт скор, а порог это отдельное продуктовое решение.
Как отвечать
Precision считается по матрице ошибок, а матрица появляется только после того, как скоры превращены в метки: TP / (TP + FP). Сдвинули порог, изменился состав предсказанных положительных, изменилась и точность. Это одна точка на кривой.
ROC AUC перебирает все пороги сразу: кривая строится по парам TPR и FPR для каждой возможной отсечки, а площадь под ней сворачивает их в одно число. Отсюда второе, более сильное определение: AUC равен вероятности того, что случайный положительный объект получит скор выше случайного отрицательного. Метрика зависит только от порядка объектов, поэтому любое монотонное преобразование скоров её не меняет.
Практический вывод: AUC удобен, когда сравниваете модели между собой и порог ещё не выбран. Точность и полнота нужны, когда система уже принимает решения, и порог подбирают отдельно, по цене ошибки: максимум точности при заданной полноте либо минимум суммарных потерь.
Где спотыкаются
Читают высокий AUC как «модель готова». TPR и FPR нормируются внутри своего класса, поэтому при редком положительном классе сотни ложных срабатываний почти не двигают FPR, а точность в проде оказывается никакой. На сильном дисбалансе смотрят PR-кривую и average precision.
Второе: путают ROC AUC с площадью под PR-кривой и называют обе просто «AUC». У них разная базовая линия: у ROC она всегда равна половине, у PR равна доле положительного класса.
Третье: забывают, что AUC ничего не говорит о калибровке. Порядок объектов может быть идеальным, а сами вероятности смещёнными. Если число уходит в расчёт ожидаемой прибыли, нужна калибровка и log loss либо оценка Брайера.