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 precisão 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, o que acontece na maioria das aplicações reais, é melhor otimizar para uma das outras métricas.

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

Taxa de recall ou 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.

O recall é matematicamente definido 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, a recuperação mede a fração de e-mails de spam que foram corretamente classificados 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, um recall (TPR, na sigla em inglês) 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, digamos de um a dois exemplos no total, a precisão é menos significativa e menos útil como métrica.

Taxa de falso positivo

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

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

Falsos positivos são verdadeiros negativos que foram classificados incorretamente, e é por isso que 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 realmente eram spam.

Um modelo perfeito hipotético 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 o NaN significa nas métricas?

NaN, ou "não é um número", aparece na 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 de precisão tem 0 no denominador, resultando em NaN. Em alguns casos, o 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 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, geralmente faz sentido priorizar o recall, capturando todos os e-mails de spam ou com precisão, tentando garantir que os e-mails marcados como spam sejam de fato spam ou algum equilíbrio acima de algum nível mínimo de precisão.

Métrica Orientação
Precisão

Use como um indicador aproximado do progresso/convergência de 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.

(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 de conjuntos de dados desbalanceados. 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. De forma mais ampla, quando a precisão e o recall têm valores próximos, a F1 fica próxima do valor deles. Quando a precisão e o recall estiverem distantes, F1 será semelhante à métrica pior.

Exercício: testar seu conhecimento

Um modelo gera 5 TP, 6 TN, 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 do 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 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 fotos de armadilhas de insetos para verificar se há uma espécie invasora perigosa. 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)
Neste cenário, os alarmes falsos (FP) têm baixo custo. 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.