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.
machine-learning
accuracy
aidankmcl
fonte
fonte
Respostas:
Realmente ótima pergunta, e que eu acho que a maioria das pessoas realmente não entende em um nível intuitivo.
AUC
de fato, é preferível à precisão da classificação binária por vários motivos diferentes. Primeiro, porém, vamos falar exatamente sobre o queAUC
é. Honestamente, por ser uma das métricas de eficácia mais amplamente usadas, é surpreendentemente obtuso descobrir exatamente comoAUC
funciona.AUC
significaArea Under the Curve
, qual curva você pergunta? Bem, essa seria aROC
curva.ROC
significa Característica de operação do receptor , que na verdade é um pouco não intuitiva. O objetivo implícitoAUC
é 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
):Agora, neste gráfico,
TPR
está especificamente a proporção de verdadeiro positivo para todos os positivos eFPR
é 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:Que se parece basicamente com uma linha diagonal (é) e, por alguma geometria fácil, você pode ver que o
AUC
modelo seria0.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
1x1
gráfico que contém o seuROC
. Na prática, você obtém algo parecido com isto:Então, basicamente, o que você realmente obtém quando faz uma
AUC
precisã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.fonte
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.
fonte
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.
fonte