Curvas ROC vs Precision-recall no conjunto de dados desequilibrado

17

Acabei de ler esta discussão. Eles argumentam que a AUC do PR é melhor que a AUC do ROC no conjunto de dados desequilibrados.

Por exemplo, temos 10 amostras no conjunto de dados de teste. 9 amostras são positivas e 1 é negativa. Temos um modelo terrível que prevê tudo de positivo. Assim, teremos uma métrica que TP = 9, FP = 1, TN = 0, FN = 0.

Então, Precisão = 0,9, Recuperação = 1,0. A precisão e o recall são muito altos, mas temos um classificador ruim.

Por outro lado, TPR = TP / (TP + FN) = 1,0, FPR = FP / (FP + TN) = 1,0. Como o FPR é muito alto, podemos identificar que esse não é um bom classificador.

Claramente, o ROC é melhor que o PR em conjuntos de dados desequilibrados. Alguém pode explicar por que PR é melhor?

machineLearner
fonte
1
Precisão e Recuperação ignoram Falsos Negativos. A justificativa usual para usar o tradeoff de relações públicas (curvas ou pontuação F) é que o número de negativos e falsos negativos é enorme em relação ao TP e ao FP. Então, TNR-> 1 e FPR-> 0 (soma a 1 com o mesmo denominador | Negs |). Portanto, nesse caso, o PR reflete (amplifica ou aproxima o zoom) a troca entre TP e FP, mas isso não é significativo e o que é relevante é um aumento no índice Youden J (Informedness = TPR-FPR = TPR + TNR-1 = Sensibilidade + Especificidade-1), que corresponde ao dobro da área entre a curva triangular do ponto de operação único e a linha de chance do ROC.
David MW Poderes
2
@DavidMWPowers, por que não transformar isso em uma resposta oficial? Parece-me uma resposta muito informativa.
gung - Restabelece Monica
2
Precisão, recall, sensibilidade e especificidade são pontuações incorretas descontínuas, arbitrárias e inadequadas, que perdem informações e não devem ser usadas. Eles podem ser especialmente problemáticos sob desequilíbrio. O índice (probabilidade de concordância; AUROC) funciona bem sob equilíbrio extremo. Melhor: use uma regra de pontuação de precisão adequada relacionada à probabilidade de log ou à pontuação Brier. c
Frank Harrell

Respostas:

8

Primeiro, a alegação no post Kaggle é falsa. O artigo que eles referenciam, " A Relação entre Precision-Recall e ROC Curves ", nunca afirma que a PR AUC é melhor que a ROC AUC. Eles simplesmente comparam suas propriedades, sem julgar seu valor.

Às vezes, as curvas ROC podem ser enganosas em algumas aplicações muito desequilibradas. Uma curva ROC ainda pode parecer muito boa (ou seja, melhor que aleatória) enquanto classifica incorretamente a maioria ou a totalidade da classe minoritária.

Por outro lado, as curvas de relações públicas são especificamente adaptadas para a detecção de eventos raros e são bastante úteis nesses cenários. Eles mostrarão que seu classificador tem um desempenho baixo se estiver classificando incorretamente a maioria ou a totalidade da classe minoritária. Mas eles não se traduzem bem em casos mais equilibrados, ou casos em que negativos são raros.

Além disso, por serem sensíveis à probabilidade de linha de base de eventos positivos, eles não generalizam bem e se aplicam apenas ao conjunto de dados específico em que foram construídos ou aos conjuntos de dados com o mesmo equilíbrio exato. Isso significa que geralmente é difícil comparar curvas de RP de diferentes estudos, limitando sua utilidade.

Como sempre, é importante entender as ferramentas disponíveis e selecionar a correta para a aplicação correta. Sugiro ler a pergunta ROC vs curvas de precisão e recall aqui no CV.

Calimo
fonte
3

Seu exemplo está definitivamente correto.

No entanto, acho que, no contexto da aplicação Kaggle de competição / vida real, um conjunto de dados inclinado geralmente significa um conjunto de dados com amostras muito menos positivas do que amostras negativas. Somente neste caso, a AUC do PR é mais "significativa" que a AUC do ROC.

Considere um detector com TP = 9, FN = 1, TN = 900, FP = 90, onde existem 10 amostras positivas e 990 negativas. TPR = 0,9, FPR = 0,1, que indica uma boa pontuação ROC, no entanto Precisão = 0,1, que indica uma pontuação PR ruim.

user2512796
fonte
0

Você está no meio do caminho.

Normalmente, quando faço modelos desequilibrados, até modelos equilibrados, olho para PR para TODAS as minhas aulas.

No seu exemplo, sim, sua classe positiva tem P = 0,9 e R = 1,0. Mas o que você deve olhar são TODAS as suas aulas. Portanto, para sua classe negativa, seu P = 0 e seu R = 0. E você geralmente não olha apenas as pontuações de RP individualmente. Você deseja examinar a pontuação F1 (macro F1 ou F1 micro, dependendo do seu problema), que é uma média harmônica de suas pontuações PR para a classe 1 e a classe 0. Sua pontuação PR da classe 1 é super boa, mas combine isso com sua pontuação PR de classe 0, sua pontuação F1 será TERRÍVEL, que é a conclusão correta para o seu cenário.

TL, DR: observe as pontuações de relações públicas para TODAS as suas classes e combine-as com uma métrica como a pontuação F1 para obter uma conclusão realista sobre o desempenho do seu modelo. A pontuação F1 para o seu cenário será TERRÍVEL, que é a conclusão correta para o seu cenário.

Respiração pesada
fonte