A seção anterior apresentou um conjunto de métricas de modelo, todas calculadas com um com valor único de limiar de classificação. Mas, se você quiser avaliar a qualidade do modelo em todos os limites possíveis, você precisa de ferramentas diferentes.
Curva de característica de operação do receptor (ROC, na sigla em inglês)
A curva ROC é uma representação visual do desempenho do modelo em todos os limites. A versão longa do nome, característica de operação do receptor, é uma retenção da detecção de radar da Segunda Guerra Mundial.
A curva ROC é desenhada pelo cálculo da taxa de verdadeiro positivo (TPR, na sigla em inglês) e a taxa de falsos positivos (FPR, na sigla em inglês) em todos os limiares possíveis (na prática, intervalos selecionados), e fazer um gráfico de TPR sobre FPR. Um modelo perfeito, que em algum limite tem um TPR de 1,0 e um FPR de 0,0, pode ser representada por um ponto (0, 1) se todos os outros limites forem ignorados ou pelo seguinte:
Área sob a curva (AUC)
A área sob a curva ROC (AUC) representa a probabilidade de que o modelo, se receber um exemplo positivo e negativo aleatoriamente, classificará positivo maior que negativo.
O modelo perfeito acima, que contém um quadrado com lados de comprimento 1, tem sob a curva (AUC) de 1,0. Isso significa que há 100% de probabilidade de que o modelo vai classificar corretamente um exemplo positivo escolhido aleatoriamente um exemplo negativo aleatoriamente escolhido. Em outras palavras, observar a disseminação pontos de dados abaixo, a AUC dá a probabilidade de o modelo colocar uma quadrado aleatório à direita de um círculo escolhido aleatoriamente, independente em que o limite é definido.
Em termos mais concretos, um classificador de spam com AUC de 1,0 sempre atribui a um e-mail de spam aleatório uma probabilidade maior de ser spam do que um e-mail legítimo aleatório. A classificação real de cada e-mail depende do limite escolhido.
Para um classificador binário, um modelo que faz exatamente o mesmo que palpites aleatórios ou "cara ou coroa" tem uma ROC que é uma linha diagonal de (0,0) a (1,1). A AUC é 0,5, o que representa uma probabilidade de 50% de classificar corretamente um positivo aleatório e exemplo negativo.
No exemplo do classificador de spam, um classificador de spam com AUC de 0,5 atribui um e-mail de spam aleatório tem maior probabilidade de ser spam do que e-mails legítimos apenas metade do tempo.
(Opcional, avançado) Curva de precisão/recall.
A AUC e a ROC funcionam bem para comparar modelos quando o conjunto de dados é equilibrado entre as classes. Quando o conjunto de dados está desequilibrado, precisão-recall (PRCs) e a área sob essas curvas pode oferecer uma melhor e a visualização do desempenho do modelo. As curvas de precisão/recall são criadas plotando a precisão no eixo y e o recall no eixo x em todas limites.
AUC e ROC para escolher o modelo e o limite
A AUC é uma medida útil para comparar o desempenho de dois modelos diferentes, desde que o conjunto de dados esteja mais equilibrado. Consulte Curva de precisão/recall, acima, para conjuntos de dados desequilibrados.) O modelo com maior área abaixo a curva geralmente é a melhor.
Os pontos em uma curva ROC mais próximos de (0,1) representam o intervalo limites de melhor desempenho para determinado modelo. Conforme discutido nas Limites, Matriz de confusão e Escolha de métricas e compensações o limite escolhido depende da métrica mais importante para o caso de uso específico. Considere os pontos A, B e C no seguinte diagrama, cada um representando um limite:
Se os falsos positivos (alarmes falsos) têm alto custo, pode fazer sentido escolha um limite que ofereça uma FPR menor, como o do ponto A, mesmo que a TPR é reduzido. Por outro lado, se os falsos positivos forem baratos e os falsos negativos (verdadeiros positivos ausentes) muito caro, o limite para o ponto C, que maximiza o TPR, pode ser preferível. Se os custos forem quase equivalentes, o ponto B pode oferecer o melhor equilíbrio entre TPR e FPR.
Esta é a curva ROC dos dados que vimos antes:
Exercício: testar seu conhecimento
(Opcional, avançado) Pergunta bônus
Imagine uma situação em que é melhor permitir que algum spam chegue ao do que enviar um e-mail importante para a empresa para a caixa de spam. Você treinou um classificador de spam para a situação em que a classe positiva é spam e a classe negativa não é spam. Qual dos seguintes pontos na curva ROC para seu classificador é preferível?