O classificador "Bom" destruiu minha curva Precision-Recall. O que aconteceu?


11

Estou trabalhando com dados desequilibrados, onde existem cerca de 40 casos de classe = 0 para cada classe = 1. Eu posso discriminar razoavelmente entre as classes usando recursos individuais, e treinar um classificador ingênuo de Bayes e SVM em 6 recursos e dados balanceados gerou uma melhor discriminação (curvas ROC abaixo).

insira a descrição da imagem aqui

Tudo bem, e eu pensei que estava indo bem. No entanto, a convenção para esse problema específico é prever ocorrências em um nível de precisão, geralmente entre 50% e 90%. por exemplo, "Detectamos um número de ocorrências com precisão de 90%". Quando tentei isso, a precisão máxima que pude obter dos classificadores foi de cerca de 25% (linha preta, curva PR abaixo).

Eu pude entender isso como um problema de desequilíbrio de classe, pois as curvas PR são sensíveis ao desequilíbrio e as curvas ROC não. No entanto, o desequilíbrio não parece afetar os recursos individuais: posso obter uma precisão bastante alta usando os recursos individuais (azul e ciano).

insira a descrição da imagem aqui

Eu não entendo o que está acontecendo. Eu entenderia se tudo tivesse um desempenho ruim no espaço de relações públicas, pois, afinal, os dados estão muito desequilibrados. Eu também poderia entender se os classificadores pareciam ruins no espaço ROC e PR - talvez eles sejam apenas classificadores ruins. Mas o que está acontecendo para melhorar os classificadores, a julgar pelo ROC, mas pior, a julgar pelo Precision-Recall ?

Edit : notei que nas áreas baixas de TPR / Recall (TPR entre 0 e 0,35), os recursos individuais superam consistentemente os classificadores nas curvas ROC e PR. Talvez minha confusão seja porque a curva ROC "enfatiza" as áreas de alta TPR (onde os classificadores se saem bem) e a curva PR enfatiza a baixa TPR (onde os classificadores são piores).

Edit 2 : O treinamento em dados não balanceados, ou seja, com o mesmo desequilíbrio que os dados brutos, trouxe a curva PR de volta à vida (veja abaixo). Eu acho que meu problema foi treinar indevidamente os classificadores, mas não entendo totalmente o que aconteceu. insira a descrição da imagem aqui

Respostas:


7

Descobri que não há um benefício incrível no uso de downsampling / upsampling quando as classes estão moderadamente desequilibradas (ou seja, não é pior que 100: 1) em conjunto com uma métrica invariável de limite (como AUC). A amostragem causa maior impacto em métricas como pontuação na F1 e precisão, porque a amostragem move artificialmente o limite para estar mais próximo do que pode ser considerado como o local "ideal" em uma curva ROC. Você pode ver um exemplo disso na documentação do cursor .

Eu discordo do @Chris por ter uma boa AUC é melhor do que precisão, pois está totalmente relacionado ao contexto do problema. Além disso, ter uma boa AUC não significa necessariamente uma boa curva Precision-Recall quando as classes estão desequilibradas. Se um modelo mostra uma boa AUC, mas ainda tem uma recuperação precoce ruim, a curva Precision-Recall deixará muito a desejar. Você pode ver um ótimo exemplo disso acontecendo nesta resposta a uma pergunta semelhante. Por esse motivo, Saito et al. recomendamos usar a área sob a curva Precision-Recall em vez da AUC quando houver classes desequilibradas.


Não pretendia sugerir que uma boa AUC é sempre melhor do que uma boa curva de RP.
22416 Chris

1
Observe também que você sempre pode inverter as etiquetas positivas e negativas antes de ajustar o modelo e maximizar a AUC-PR. O exemplo popular de recuperação de documentos exibe o fato de que as pessoas geralmente gostam da AUC-PR porque ela pode ser usada para minimizar acertos falsos; eles são claramente incomodados mais por documentos não relacionados que são forçados a olhar do que por documentos relevantes que perdem. Eu estudo guerras ... então, para dizer o mínimo, sou muito mais incomodado por acertos perdidos do que falsos alarmes. Mas isso significa que eu apenas uso a AUC-PR com a paz como positiva. Eu usaria o ROC apenas se não tivesse preferência em relação ao tipo de erro.
DHW

1

A melhor maneira de avaliar um modelo é ver como ele será usado no mundo real e desenvolver uma função de custo.

Por outro lado, por exemplo, há muita ênfase em r ao quadrado, mas muitos acreditam que é uma estatística inútil. Portanto, não fique preso a nenhuma estatística.

Suspeito que sua resposta seja um exemplo do paradoxo da precisão.

https://en.m.wikipedia.org/wiki/Accuracy_paradox

A rechamada (também conhecida como sensibilidade, também conhecida como taxa positiva verdadeira) é a fração de instâncias relevantes que são recuperadas.

tpr = tp / (tp + fn)

Precisão (também conhecido como valor preditivo positivo) é a fração de instâncias recuperadas que são relevantes.

ppv = tp / (tp + fp)

Digamos que você tenha um conjunto muito desequilibrado de 99 positivos e um negativo.

Digamos que um modelo seja treinado no qual o modelo diz que tudo é positivo.

tp = 99 fp = 1 ppv torna-se 0,99

Claramente, um modelo de lixo eletrônico, apesar do valor preditivo positivo "bom".

Eu recomendo a criação de um conjunto de treinamento mais equilibrado, por meio de superamostragem ou subamostragem. Após a construção do modelo, use um conjunto de validação que mantenha o desequilíbrio original e crie um gráfico de desempenho sobre ele.


Muito obrigado. Eu não mencionei isso, mas estou treinando em dados balanceados (feito com re-amostragem) e avaliando os dados desequilibrados. Re: paradoxo da precisão, você quer dizer que o classificador pode estar apenas escolhendo a classe dominante? Isso não levaria a uma curva ROC de aparência aleatória? O classificador "bom" no seu exemplo tem uma boa precisão e um ROC ruim; o classificador "bom" no meu caso tem o oposto: uma precisão ruim, mas um bom ROC.
R Greg Stacey

Omitir dados valiosos não é a solução correta. Essa é uma maneira inútil de lidar com um problema resultante do uso de regras de pontuação de precisão inadequadas. Além disso, a estratégia proposta apresentada na pergunta original está em desacordo com a tomada de decisão ideal.
Frank Harrell

Onde ele afirma que está omitindo dados valiosos?
22416 Chris

@ Frank Obrigado pelo comentário. O que você quer dizer com "usar regras de pontuação de precisão impróprias"? Além disso, qual "estratégia proposta está em desacordo com a tomada de decisão ideal"? Você quer dizer definir hits em um determinado nível de precisão ou algo mais?
R Greg Stacey

1
Não basta avaliar um modelo no caso de negócios. O caso de negócios deve ser resolvido da melhor maneira, criando um modelo ideal e aplicando uma função de utilidade além disso para a tomada de decisões, e não da criação de limites na análise. Pontuações de precisão descontínuas e outras pontuações de precisão impróprias permitem afirmar que um modelo falso (errado) é superior e leva a selecionar os recursos errados e outros danos quando a pontuação de precisão imprópria é usada para construir o modelo. O fato de o @Qroid descartar dados é uma grande evidência de que a avaliação da precisão está com defeito.
Frank Harrell

1

Eu pude entender isso como um problema de desequilíbrio de classe, pois as curvas PR são sensíveis ao desequilíbrio e as curvas ROC não. No entanto, o desequilíbrio não parece afetar os recursos individuais: posso obter uma precisão bastante alta usando os recursos individuais (azul e ciano).

Quero apenas salientar que, na verdade, é o contrário: o ROC é sensível ao desequilíbrio de classe, enquanto o PR é mais robusto ao lidar com distribuições de classe assimétricas. Consulte https://www.biostat.wisc.edu/~page/rocpr.pdf .

Eles também mostram que "algoritmos que otimizam a área sob a curva ROC não garantem otimizar a área sob a curva PR".

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.