Vantagens da AUC versus precisão padrão

64

Eu estava começando a olhar para a área sob curva (AUC) e estou um pouco confuso sobre sua utilidade. Quando me expliquei pela primeira vez, a AUC parecia ser uma grande medida de desempenho, mas em minha pesquisa eu descobri que alguns afirmam que sua vantagem é quase sempre marginal, pois é melhor para capturar modelos 'sortudos' com medições de alta precisão e baixa AUC .

Portanto, devo evitar confiar na AUC para validar modelos ou uma combinação seria melhor? Obrigado por toda sua ajuda.

aidankmcl
fonte
5
Considere um problema altamente desequilibrado. É aí que o ROC AUC é muito popular, porque a curva equilibra os tamanhos das classes. É fácil obter 99% de precisão em um conjunto de dados em que 99% dos objetos estão na mesma classe.
Anony-Mousse
3
"O objetivo implícito da AUC é lidar com situações em que você tem uma distribuição de amostras muito distorcida e não deseja se ajustar demais a uma única classe". Eu pensei que essas situações eram onde a AUC tinha um desempenho ruim e os gráficos / área de precisão de recuperação sob eles eram usados.
JenSCDC
@JenSCDC, Pela minha experiência nessas situações, a AUC tem um bom desempenho e, como o índico descreve abaixo, é da curva ROC que você obtém essa área. O gráfico PR também é útil (observe que o recall é o mesmo que o TPR, um dos eixos do ROC), mas a precisão não é a mesma que o FPR; portanto, o gráfico do PR está relacionado ao ROC, mas não é o mesmo. Fontes: stats.stackexchange.com/questions/132777/… e stats.stackexchange.com/questions/7207/…
alexey

Respostas:

60

Realmente ótima pergunta, e que eu acho que a maioria das pessoas realmente não entende em um nível intuitivo. AUCde fato, é preferível à precisão da classificação binária por vários motivos diferentes. Primeiro, porém, vamos falar exatamente sobre o que AUCé. Honestamente, por ser uma das métricas de eficácia mais amplamente usadas, é surpreendentemente obtuso descobrir exatamente como AUCfunciona.

AUCsignifica Area Under the Curve, qual curva você pergunta? Bem, essa seria a ROCcurva. ROCsignifica Característica de operação do receptor , que na verdade é um pouco não intuitiva. O objetivo implícito AUCé lidar com situações em que você tem uma distribuição de amostras muito distorcida e não deseja se super-ajustar a uma única classe.

Um ótimo exemplo está na detecção de spam. Geralmente, os conjuntos de dados de spam são fortemente direcionados para o ham, ou não o spam. Se o seu conjunto de dados for 90% ham, você poderá obter uma precisão muito boa dizendo que todo e-mail é ham, o que obviamente é algo que indica um classificador não ideal. Vamos começar com algumas métricas que são um pouco mais úteis para nós, especificamente a taxa positiva verdadeira ( TPR) e a taxa positiva falsa ( FPR):

Eixos ROC

Agora, neste gráfico, TPRestá especificamente a proporção de verdadeiro positivo para todos os positivos e FPRé a proporção de falso positivo para todos os negativos. (Lembre-se de que isso é apenas para classificação binária.) Em um gráfico como este, deve ser bastante direto descobrir que uma previsão de todos os 0 ou 1 resultará nos pontos de (0,0)e (1,1)respectivamente. Se você desenhar uma linha através dessas linhas, obterá algo como isto:

Como um triângulo

Que se parece basicamente com uma linha diagonal (é) e, por alguma geometria fácil, você pode ver que o AUCmodelo seria 0.5(altura e base são 1). Da mesma forma, se você prever uma variedade aleatória de zeros e zeros, digamos 90% zeros, você poderá entender o ponto (0.9, 0.9), que novamente cai nessa linha diagonal.

Agora vem a parte interessante. E se não estivéssemos prevendo apenas zeros e zeros? E se, em vez disso, quiséssemos dizer que, teoricamente, definiríamos um ponto de corte, acima do qual todo resultado fosse 1 e abaixo do qual todo resultado fosse um 0. Isso significaria que nos extremos você obtém a situação original em que tem todos os 0 e todos os 1 (com um ponto de corte de 0 e 1 respectivamente), mas também uma série de estados intermediários que se enquadram no 1x1gráfico que contém o seu ROC. Na prática, você obtém algo parecido com isto: Cortesia da Wikipedia

Então, basicamente, o que você realmente obtém quando faz uma AUCprecisão excessiva é algo que desencorajará fortemente as pessoas que procuram modelos representativos, mas não discriminatórios, pois isso só seleciona modelos que atingem taxas de falso positivo e verdadeiro positivo que estão significativamente acima do acaso, o que não é garantido pela precisão.

indico
fonte
Você poderia adicionar como a AUC se compara a uma pontuação na F1?
Dan
7
@ Dan- A maior diferença é que você não precisa definir um limite de decisão com a AUC (é essencialmente medir a probabilidade de spam ser classificado acima de não-spam). A pontuação F1 requer um limite de decisão. Obviamente, você sempre pode definir o limite de decisão como um parâmetro operacional e plotar as pontuações F1.
DSea
17

AUC e precisão são coisas bastante diferentes. AUC se aplica a classificadores binários que possuem alguma noção de limite de decisão internamente. Por exemplo, a regressão logística retorna positivo / negativo, dependendo de a função logística ser maior / menor que um limite, geralmente 0,5 por padrão. Quando você escolhe seu limite, você tem um classificador. Você tem que escolher um.

Para uma determinada escolha de limite, é possível calcular a precisão, que é a proporção de verdadeiros positivos e negativos em todo o conjunto de dados.

A AUC mede o quanto a taxa positiva verdadeira (recall) e a taxa de falso positivo são trocadas; portanto, nesse sentido, ele já está medindo outra coisa. Mais importante, a AUC não é uma função do limiar. É uma avaliação do classificador, pois o limite varia em todos os valores possíveis. É, de certo modo, uma métrica mais ampla, testando a qualidade do valor interno que o classificador gera e, em seguida, comparando com um limite. Não está testando a qualidade de uma escolha específica de limite.

A AUC tem uma interpretação diferente, e é também a probabilidade de um exemplo positivo escolhido aleatoriamente ser classificado acima de um exemplo negativo escolhido aleatoriamente, de acordo com o valor interno do classificador para os exemplos.

AUC é computável, mesmo se você tiver um algoritmo que produz apenas uma classificação em exemplos. A AUC não é computável se você realmente tiver apenas um classificador de caixa preta e não um com um limite interno. Estes geralmente ditam qual dos dois está disponível para um problema em questão.

Acho que a AUC é uma medida mais abrangente, embora aplicável em menos situações. Não é estritamente melhor que precisão; é diferente. Depende em parte se você se importa mais com verdadeiros positivos, falsos negativos, etc.

A medida F é mais parecida com precisão, no sentido de que é uma função de um classificador e sua configuração de limite. Mas mede precisão versus recall (taxa positiva verdadeira), que não é a mesma que acima.

Sean Owen
fonte
Portanto, se eu quiser prever um resultado binário para um conjunto de observações cujos tamanhos de grupo sejam iguais (ou seja, um estudo de caso-controle), ganho alguma coisa usando a AUC acima da precisão? Ou o uso típico da AUC em tais estudos se deve apenas à convenção?
Joe
A AUC mede quão bem o classificador classifica as instâncias positivas mais altas que as negativas, enquanto a precisão mede os verdadeiros versus os falsos positivos para um determinado limite de decisão. Suponho que depende de qual corresponde ao que você deseja avaliar. A AUC é indiscutivelmente uma medida mais abrangente do classificador, independentemente da escolha do limiar, mas qualquer uso real do classificador dependerá da escolha de um limiar para classificar
Sean Owen
4

Gostaria de me referir a como você deve escolher uma medida de desempenho. Antes disso, vou me referir à questão específica de precisão e AUC.

Como respondido anteriormente, no conjunto de dados desequilibrado, usando a execução majoritária como classificador, levará a alta precisão, o que a tornará uma medida enganosa. AUC agregada acima do limite de confiança, para o bem e para o mal. Para sempre, você obtém um resultado de peso para todo o nível de confiança. O ruim é que você geralmente se preocupa apenas com o nível de confiança que realmente usará e o resto é irrelevante.

No entanto, quero comentar sobre a escolha de uma medida de desempenho adequada para um modelo. Você deve comparar um modelo por seu objetivo. O objetivo de um modelo não é uma questão de aprendizado de máquina ou estatística, mas uma questão de domínio de negócios e suas necessidades.

Se você está procurando ouro (um cenário em que você se beneficia enormemente de um verdadeiro positivo, e não um custo muito alto de um falso positivo), a recordação é uma boa medida.

Se você está tentando decidir se deve executar um procedimento médico complexo em pessoas (alto custo de falso positivo, espero que baixo custo de falso negativo), a precisão é a medida que você deve usar.

Existem várias medidas que você pode usar. Você também pode combiná-los de várias maneiras.

No entanto, não existe uma "melhor" medida universal. Existe o melhor modelo para suas necessidades, aquele que maximizá-lo maximizará seu benefício.

DaL
fonte