Classificação: precisão, 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. Quais métricas de avaliação são mais significativas dependem do modelo e da tarefa específicos, do custo de diferentes classificações incorretas e se o conjunto de dados está equilibrado ou desequilibrado.

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 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 precisão mede a fração de todos os e-mails classificados corretamente.

Um modelo perfeito teria zero falsos positivos e zero falsos negativos e, portanto, uma acurácia de 1,0 ou 100%.

Como ela incorpora todos os quatro resultados da matriz de confusão (VP, FP, TN, FN), dado um conjunto de dados equilibrado, com números semelhantes de exemplos nas duas classes, a precisão pode servir como uma medida grosseira da qualidade do modelo. Por esse motivo, ela é frequentemente a métrica de avaliação padrão usada para modelos genéricos ou não especificados que executam 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, como é o caso da maioria dos aplicativos reais, é melhor otimizar para uma das outras métricas.

Para conjuntos de dados muito desequilibrados, em que uma classe aparece muito raramente, digamos 1% do tempo, um modelo que prevê 100% de tempo negativo 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 (TPR, na sigla em inglês), ou a proporção de todos os positivos reais que foram classificados corretamente como positivos, também é conhecida como recall.

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, por isso 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 que outro nome para o recall é probabilidade de detecção: ele responde à pergunta "Que fração de e-mails de spam é detectada por esse modelo?".

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

Em um conjunto de dados desequilibrado em que o número de positivos reais é muito baixo (por exemplo, de um a dois exemplos no total), o recall é menos significativo e menos útil como métrica.

Taxa de falso positivo

A taxa de falsos positivos (FPR, na sigla em inglês) é a proporção de todos os negativos reais que foram classificados incorretamente como positivos, também conhecida como a 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, e é por isso que eles 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 alarmes falsos do modelo.

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

Em um conjunto de dados desequilibrado em que o número de negativos reais é muito baixo, digamos de um a dois exemplos no total, a FPR é menos significativa e menos útil como métrica.

Precisão

A precisão é a proporção de todas as classificações positivas do modelo que são realmente positivas. Ela é matematicamente definida 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 eram spam.

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

Em um conjunto de dados desequilibrado em que o número de positivos reais é muito baixo (por exemplo, de um a dois exemplos no total), a precisão é menos significativa e menos útil como 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 melhorar um deles piora o outro.

Teste por conta própria:

O que significa "NaN" nas métricas?

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

Escolha da métrica 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 a recuperação, 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 entre os dois, acima de um nível mínimo de precisão.

Métrica Orientação
Precisão

Use como um indicador bruto 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 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.

Pontuação F1 (opcional, avançada)

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 à precisão para conjuntos de dados com classes desequilibradas. Quando a precisão e o recall têm pontuações perfeitas de 1,0, a F1 também terá uma pontuação perfeita de 1,0. Em termos mais amplos, quando a precisão e o recall estiverem próximos, F1 estará próximo do valor deles. Quando a precisão e o recall estão muito distantes, a F1 é semelhante à métrica pior.

Exercício: testar seu conhecimento

Um modelo gera 5 TP, 6 TN, 3 FP e 2 FN. Calcule a recuperação.
0,714
A recuperação é calculada 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 de recuperação é [\frac{TP}{TP+FN}].
0,625
O recall considera todos os positivos reais, não todas as classificações positivas. A fórmula de recuperação é [\frac{TP}{TP+FN}]
Um modelo gera 3 TP, 4 TN, 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 todas as positivas 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 se há uma espécie invasora perigosa nas fotos de armadilhas para insetos. Se o modelo detectar a espécie, o entomologista (cientista de insetos) em serviço será notificado. A detecção precoce desse inseto é fundamental para evitar uma infestação. Um alerta falso (falso positivo) é fácil de lidar: o entomologista percebe que a foto foi classificada incorretamente e a marca como tal. Supondo um nível de precisão aceitável, para qual métrica esse modelo precisa ser otimizado?
Recall
Nesse cenário, os alarmes falsos (FP) são de baixo custo, e os falsos negativos são muito caros. Portanto, faz sentido maximizar a recuperação ou a probabilidade de detecção.
Taxa de falso positivo (FPR)
Nesse cenário, os alarmes falsos (FP) têm um custo baixo. Tentar minimizá-los com o risco de perder positivos reais não faz sentido.
Precisão
Nesse cenário, os alarmes falsos (FP) não são particularmente prejudiciais, então tentar melhorar a precisão das classificações positivas não faz sentido.