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.


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.


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.


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.

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.