Classificação: acurácia, recall, precisão e métricas relacionadas

Os verdadeiros e falsos positivos e negativos são usados para calcular várias métricas úteis para avaliar modelos. As métricas de avaliação mais significativas dependem do modelo e da tarefa específicos, do custo de diferentes classificações incorretas e se o conjunto de dados é balanceado ou não.

Todas as métricas nesta seção são calculadas em um único limite fixo e mudam quando o limite muda. Muitas vezes, o usuário ajusta o limite para otimizar uma dessas métricas.

Precisão

A acurácia é a proporção de todas as classificações que estavam corretas, sejam elas positivas ou negativas. Ela é definida matematicamente como:

\[\text{Accuracy} = \frac{\text{correct classifications}}{\text{total classifications}} = \frac{TP+TN}{TP+TN+FP+FN}\]

No exemplo de classificação de spam, a acurácia mede a fração de todos os e-mails classificados corretamente.

Um modelo perfeito teria zero falso positivo e negativo e, portanto, uma acurácia de 1,0 ou 100%.

Como incorpora todos os quatro resultados da matriz de confusão (VP, FP, VN, FN), dado um conjunto de dados equilibrado, com números semelhantes de exemplos em ambas as classes, a acurácia pode servir como uma medida aproximada da qualidade do modelo. Por isso, ela costuma ser a métrica de avaliação padrão usada para modelos genéricos ou não especificados que realizam tarefas genéricas ou não especificadas.

No entanto, quando o conjunto de dados está desequilibrado ou quando um tipo de erro (FN ou FP) é mais caro que o outro, o que acontece na maioria das aplicações do mundo real, é melhor otimizar uma das outras métricas.

Em conjuntos de dados muito desequilibrados, em que uma classe aparece muito raramente, digamos, 1% das vezes, um modelo que prevê negativo 100% das vezes teria uma pontuação de 99% em precisão, apesar de ser inútil.

Recall ou taxa de verdadeiro positivo

A taxa de verdadeiro positivo (TVP), ou a proporção de todos os positivos reais que foram classificados corretamente como positivos, também é conhecida como recall.

O recall é definido matematicamente como:

\[\text{Recall (or TPR)} = \frac{\text{correctly classified actual positives}}{\text{all actual positives}} = \frac{TP}{TP+FN}\]

Falsos negativos são positivos reais que foram classificados incorretamente como negativos, e é por isso que eles aparecem no denominador. No exemplo de classificação de spam, o recall mede a fração de e-mails de spam que foram classificados corretamente como spam. Por isso, outro nome para recall é probabilidade de detecção: ele responde à pergunta "Qual fração de e-mails de spam é detectada por este modelo?"

Um modelo perfeito hipotético teria zero falsos negativos e, portanto, um recall (TPR) de 1,0, ou seja, uma taxa de detecção de 100%.

Em um conjunto de dados desbalanceado em que o número de positivos reais é muito baixo, o recall é uma métrica mais significativa do que a acurácia, porque mede a capacidade do modelo de identificar corretamente todas as instâncias positivas. Para aplicativos como previsão de doenças, é fundamental identificar corretamente os casos positivos. Um falso negativo geralmente tem consequências mais graves do que um falso positivo. Para um exemplo concreto que compara as métricas de recall e precisão, consulte as notas na definição de recall.

Taxa de falso positivo

A taxa de falsos positivos (FPR) é a proporção de todos os negativos reais que foram classificados incorretamente como positivos, também conhecida como probabilidade de falso alarme. Ela é definida matematicamente como:

\[\text{FPR} = \frac{\text{incorrectly classified actual negatives}} {\text{all actual negatives}} = \frac{FP}{FP+TN}\]

Falsos positivos são negativos reais que foram classificados incorretamente, por isso aparecem no denominador. No exemplo de classificação de spam, a FPR mede a fração de e-mails legítimos que foram classificados incorretamente como spam ou a taxa de falsos alarmes do modelo.

Um modelo perfeito teria zero falso positivo e, portanto, uma FPR de 0,0, ou seja, uma taxa de falso alarme de 0%.

Em um conjunto de dados desequilibrado em que o número de negativos reais é muito, muito baixo (por exemplo, 1 a 2 exemplos no total), a FPR é menos significativa e útil como métrica.

Precisão

Precisão é a proporção de todas as classificações positivas do modelo que são realmente positivas. Ela é definida matematicamente como:

\[\text{Precision} = \frac{\text{correctly classified actual positives}} {\text{everything classified as positive}} = \frac{TP}{TP+FP}\]

No exemplo de classificação de spam, a precisão mede a fração de e-mails classificados como spam que realmente eram spam.

Um modelo perfeito hipotético teria zero falso positivo e, portanto, uma precisão de 1,0.

Em um conjunto de dados desequilibrado em que o número de positivos reais é muito, muito baixo, digamos, 1 a 2 exemplos no total, a precisão é menos significativa e menos útil como uma métrica.

A precisão melhora à medida que os falsos positivos diminuem, enquanto o recall melhora quando os falsos negativos diminuem. No entanto, como visto na seção anterior, aumentar o limiar de classificação tende a diminuir o número de falsos positivos e aumentar o número de falsos negativos, enquanto diminuir o limiar tem os efeitos opostos. Como resultado, a precisão e o recall geralmente mostram uma relação inversa, em que a melhoria de um deles piora o outro.

Faça um teste:

O que significa NaN nas métricas?

NaN, ou "not a number", aparece quando a divisão é por 0, o que pode acontecer com qualquer uma dessas métricas. Quando TP e FP são 0, por exemplo, a fórmula para precisão tem 0 no denominador, resultando em NaN. Em alguns casos, NaN pode indicar desempenho perfeito e ser substituído por uma pontuação de 1,0, mas também pode vir de um modelo praticamente inútil. Um modelo que nunca prevê positivo, por exemplo, teria 0 TP e 0 FP. Portanto, o cálculo da precisão resultaria em NaN.

Escolha de métricas e compensações

As métricas que você escolhe priorizar ao avaliar o modelo e escolher um limite dependem dos custos, benefícios e riscos do problema específico. No exemplo de classificação de spam, muitas vezes faz sentido priorizar o recall, capturando todos os e-mails de spam, ou a precisão, tentando garantir que os e-mails rotulados como spam sejam de fato spam, ou algum equilíbrio dos dois, acima de um nível mínimo de acurácia.

Métrica Orientação
Precisão

Use como um indicador aproximado do progresso/convergência do treinamento do modelo para conjuntos de dados equilibrados.

Para a performance do modelo, use apenas em combinação com outras métricas.

Evite para conjuntos de dados desequilibrados. Considere usar outra métrica.

Recall
(taxa de verdadeiro positivo)
Use quando os falsos negativos forem mais caros do que os falsos positivos.
Taxa de falso positivo Use quando os falsos positivos forem mais caros do que os falsos negativos.
Precisão Use quando for muito importante que as previsões positivas sejam precisas.

(Opcional, avançado) Pontuação F1

A pontuação F1 é a média harmônica (um tipo de média) de precisão e recall.

Matematicamente, ele é dado por:

\[\text{F1}=2*\frac{\text{precision * recall}}{\text{precision + recall}} = \frac{2\text{TP}}{2\text{TP + FP + FN}}\]

Essa métrica equilibra a importância da precisão e do recall e é preferível à acurácia para conjuntos de dados com classes desbalanceadas. Quando a precisão e o recall têm pontuações perfeitas de 1,0, a pontuação F1 também é 1,0. De modo geral, quando a precisão e o recall têm valores próximos, a F1 também terá um valor parecido. Quando a precisão e o recall estão muito distantes, a F1 é semelhante à métrica que está pior.

Exercício: teste de conhecimentos

Um modelo gera 5 VP, 6 VN, 3 FP e 2 FN. Calcule o recall.
0,714
O recall é calculado como \(\frac{TP}{TP+FN}=\frac{5}{7}\).
0,455
O recall considera todos os positivos reais, não todas as classificações corretas. A fórmula para o recall é \(\frac{TP}{TP+FN}\).
0,625
O recall considera todos os positivos reais, não todas as classificações positivas. A fórmula para o recall é \(\frac{TP}{TP+FN}\).
Um modelo gera 3 VP, 4 VN, 2 FP e 1 FN. Calcule a precisão.
0,6
A precisão é calculada como \(\frac{TP}{TP+FP}=\frac{3}{5}\).
0,75
A precisão considera todas as classificações positivas, não todos os positivos reais. A fórmula para precisão é \(\frac{TP}{TP+FP}\).
0.429
A precisão considera todas as classificações positivas, não todas as classificações corretas. A fórmula para precisão é \(\frac{TP}{TP+FP}\)
Você está criando um classificador binário que verifica fotos de armadilhas de insetos para saber se uma espécie invasora perigosa está presente. Se o modelo detectar a espécie, o entomologista (cientista de insetos) de plantão será notificado. A detecção precoce desse inseto é fundamental para evitar uma infestação. Um falso alarme (falso positivo) é fácil de resolver: o entomologista vê que a foto foi classificada incorretamente e a marca como tal. Considerando um nível de acurácia aceitável, para qual métrica esse modelo deve ser otimizado?
Recall
Nesse cenário, os falsos alarmes (FP) têm baixo custo, e os falsos negativos são muito caros. Portanto, faz sentido maximizar o recall, ou seja, a probabilidade de detecção.
Taxa de falso positivo (FPR)
Nesse cenário, os falsos alarmes (FP) têm baixo custo. Tentar minimizar os falsos positivos correndo o risco de perder os positivos reais não faz sentido.
Precisão
Nesse cenário, os falsos alarmes (FP) não são particularmente prejudiciais. Portanto, tentar melhorar a correção das classificações positivas não faz sentido.