Хорошая кривая ROC, но плохая кривая точности-отзыва

У меня есть результаты машинного обучения, которые я не совсем понимаю. Я использую python sciki-learn с 2+ миллионами данных о 14 функциях. Классификация «ab» выглядит довольно плохо на кривой точности-отзыва, но ROC для Ab выглядит так же хорошо, как и классификация большинства других групп. Что это может объяснить?

введите описание изображения здесь

введите описание изображения здесь


person KubiK888    schedule 23.10.2015    source источник
comment
Ваш сет сбалансирован? (то есть столько ab, сколько не ab)   -  person Calimo    schedule 23.10.2015
comment
Нет, он очень несбалансирован, Ab меньше 2%   -  person KubiK888    schedule 23.10.2015
comment
Ну вот. Попробуйте передискретизировать, чтобы смягчить проблему.   -  person Calimo    schedule 23.10.2015


Ответы (1)


Классовый дисбаланс.

В отличие от кривой ROC, кривые PR очень чувствительны к дисбалансу. Если вы оптимизируете свой классификатор для получения хорошей AUC для несбалансированных данных, вы, вероятно, получите плохие результаты с точным отзывом.

person Calimo    schedule 23.10.2015
comment
Понятно, но что это на самом деле означает с точки зрения производительности теста? Это хорошо (на основе ROC) или плохо (на основе P-R)? Как тест может быть хорошим, если на приведенной выше кривой P-R лучшее, что он может сделать, составляет 40% как для точности, так и для отзыва? - person KubiK888; 23.10.2015
comment
Это означает, что вы должны быть осторожны, сообщая о выполнении теста с несбалансированными данными. В медицинских приложениях это может иметь ужасные последствия (см. Тестирование на СПИД в качестве примера из учебника), в других это может быть нормально, это действительно зависит от вашего конкретного приложения. - person Calimo; 24.10.2015
comment
Я не настраивал настройку по умолчанию, поскольку использую scikit learn, но, как вы сказали, кажется, что она оптимизируется на основе AUC, есть ли способ оптимизации на основе пары точности / отзыва в несбалансированных данных? - person KubiK888; 25.10.2015
comment
Вы должны опубликовать это как новый вопрос. - person Calimo; 26.10.2015