Насколько ROC AUC подходит при сильном дисбалансе классов?
Что проверяют
Понимаете ли вы, почему метрика становится оптимистичной, и знаете ли, чем её заменить.
Как отвечать
Ответ короткий: как единственная метрика не подходит, потому что даёт слишком благополучную картину. Причина в знаменателях.
ROC строится на доле верно найденных положительных и доле ложных срабатываний, где знаменателем служит общее число отрицательных объектов. При соотношении классов сто к одному отрицательных очень много, поэтому даже тысяча ложных срабатываний почти не сдвигает кривую.
Точность считается иначе: знаменателем служит число объектов, которые модель назвала положительными, а их мало. Та же тысяча ложных срабатываний обрушивает её.
Числовой пример делает это наглядным. Пусть на десять тысяч объектов приходится сто положительных. Модель нашла восемьдесят из них и дала девятьсот ложных срабатываний. Доля ложных срабатываний примерно девять процентов, и ROC AUC выглядит прекрасно. А точность равна восьмидесяти из девятисот восьмидесяти, то есть около восьми процентов: на практике из каждых двенадцати сигналов одиннадцать пустые, и пользоваться такой моделью нельзя.
Что использовать вместо этого: PR-кривую и среднюю точность, а также точность и полноту на выбранном пороге, коэффициент Мэтьюса как сводную величину.
Когда ROC AUC всё же уместен и при дисбалансе: он не зависит от соотношения классов, потому что обе его оси считаются внутри своего класса. Это делает его удобным для сравнения ранжирующей способности моделей и для случаев, когда доля положительных со временем меняется. PR-кривая такой устойчивости не имеет: при изменении баланса она сдвигается.
Итог: ROC AUC для сравнения моделей между собой, PR-метрики для оценки пригодности к использованию.
Где спотыкаются
Отчитываются одним значением ROC AUC на редком классе.
Не понимают, откуда берётся оптимизм метрики.
Не смотрят на точность при выбранном пороге.
Не знают, что PR-кривая зависит от баланса классов, а ROC нет.