Матрица неточности и кривая ROC

Я использовал sci-kit learn, чтобы построить случайную модель леса для прогнозирования продления страховки. Это сложно, потому что, по моим данным, 96,24% обновляются, а только 3,76% не обновляются. После запуска модели я оценил производительность модели с помощью матрицы путаницы, отчета о классификации и кривой ROC.

[[  2448   8439]
 [     3 278953]]


             precision    recall  f1-score   support

          0       1.00      0.22      0.37     10887
          1       0.97      1.00      0.99    278956

avg / total       0.97      0.97      0.96    289843

Моя кривая ROC выглядит так:

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

Модель предсказывала продление всего лишь на волосок ниже 100% (округлено до 1,00, см. Столбец отзыва) и невозобновление примерно на 22% (см. Столбец отзыва). Кривая ROC предполагает, что площадь под кривой намного больше, чем указано в правой нижней части графика (площадь = 0,61).

Кто-нибудь понимает, почему это происходит?

Спасибо!


person Aaron England    schedule 18.07.2018    source источник
comment
Этот вопрос больше подходит для stats.stackexchange.com. Я согласен с тем, что при осмотре можно увидеть, что площадь под кривой должна быть больше 0,61, поэтому я не знаю, откуда взялось это число. Однако, возможно, плавная кривая не является точным представлением фактического ROC - возможно, фактическая ROC - это не плавная кривая, а некоторая неровная кривая, так что ее площадь в конце концов составляет 0,61. Мой совет - получить оценки и фактические метки, построить ROC самостоятельно и сравнить его.   -  person Robert Dodier    schedule 18.07.2018


Ответы (1)


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

Это поддерживает ссылку Kaggle говорит о той же самой проблеме в аналогичной постановке задачи.

Этот ответ и связанный документ объясняют, что оптимизация для лучшей области под кривой PR также даст лучший ROC.

person doodhwala    schedule 20.07.2018