Quando avaliamos o desempenho de um modelo de machine learning, é essencial termos métricas sólidas para medir sua eficácia. Neste artigo, exploraremos a Matriz de Confusão e métricas como Precisão, Revocação (ou Sensibilidade), Pontuação F1 e Acurácia, que nos ajudam a entender o quão bem nosso modelo está classificando os dados.
Matriz de Confusão: Desvendando a Confusão
Imagine que temos a tarefa de classificar se uma pessoa está grávida ou não com base em um teste de gravidez. Se o teste for positivo (+), a pessoa está grávida. Se for negativo (-), a pessoa não está grávida.
Agora, considere que essa classificação (grávida ou não grávida) é realizada por um algoritmo de machine learning. A saída desse algoritmo pode ser mapeada em uma das seguintes categorias:
- Uma pessoa realmente grávida (positivo) e classificada como grávida (positivo). Isso é chamado de VERDADEIRO POSITIVO (VP).

- Uma pessoa que realmente não está grávida (negativo) e é classificada como não grávida (negativo). Isso é chamado de VERDADEIRO NEGATIVO (VN).

- Uma pessoa que realmente não está grávida (negativo) e é classificada como grávida (positivo). Isso é chamado de FALSO POSITIVO (FP).

- Uma pessoa realmente grávida (positivo) e é classificada como não grávida (negativo). Isso é chamado de FALSO NEGATIVO (FN).

O que desejamos são VERDADEIROS POSITIVOS e VERDADEIROS NEGATIVOS, mas devido a erros de classificação, também podemos acabar com FALSOS POSITIVOS e FALSOS NEGATIVOS. Nenhum algoritmo de machine learning é perfeito, e é aqui que entra a confusão na classificação de dados, representada em uma matriz chamada de matriz de confusão.
A Matriz de Confusão: Analisando a Performance
Vamos considerar um cenário em que temos 100 pessoas, incluindo mulheres grávidas, mulheres não grávidas e homens com barriga saliente. Suponhamos que, dessas 100 pessoas, 40 estejam grávidas e as outras 60 sejam compostas por mulheres não grávidas e homens com barriga saliente. Usaremos um algoritmo de machine learning para prever o resultado. O resultado previsto (gravidez + ou -) usando um algoritmo de machine learning é chamado de rótulo previsto, e o resultado real (neste caso, que sabemos pelos registros médicos ou de especialistas) é chamado de rótulo real.
Aqui, introduzimos a matriz de confusão, que é necessária para calcular a acurácia do algoritmo de machine learning na classificação dos dados em seus rótulos correspondentes.

Retornando ao exemplo anterior de classificar 100 pessoas (40 grávidas e 60 não grávidas ou com barriga saliente) como grávidas ou não grávidas, o algoritmo de machine learning classificou corretamente 30 das 40 mulheres grávidas e as 55 pessoas não grávidas. As outras 10 mulheres grávidas foram classificadas como não grávidas, e as 5 restantes foram classificadas como grávidas.
Nesse caso, TN (verdadeiro negativo) é igual a 55, FP (falso positivo) é igual a 5, FN (falso negativo) é igual a 10 e TP (verdadeiro positivo) é igual a 30. A matriz de confusão fica assim:

Acurácia: Medindo a Precisão do Modelo
A acurácia representa o número de instâncias de dados classificadas corretamente sobre o número total de instâncias de dados.
Neste exemplo, a Acurácia = (55 + 30) / (55 + 5 + 30 + 10) = 0,85, e em porcentagem, a acurácia será de 85%.
No entanto, a acurácia pode não ser uma boa métrica quando o conjunto de dados não é equilibrado (ou seja, as classes negativas e positivas têm diferentes números de instâncias de dados). Vamos explicar isso com um exemplo.
Considere o seguinte cenário: Existem 90 pessoas saudáveis (negativas) e 10 pessoas com alguma doença (positivas). Agora, digamos que nosso modelo de machine learning classificou perfeitamente as 90 pessoas como saudáveis, mas também classificou as pessoas doentes como saudáveis. O que acontecerá nesse cenário? Vamos analisar a matriz de confusão e calcular a acurácia.
Neste exemplo, TN (verdadeiro negativo) é igual a 90, FP (falso positivo) é igual a 0, FN (falso negativo) é igual a 10 e TP (verdadeiro positivo) é igual a 0. A matriz de confusão fica assim:

A acurácia, neste caso, será (90 + 0) / (100) = 0,9 e, em porcentagem, a acurácia será de 90%.
Quando a Acurácia Pode Ser Enganosa
A acurácia, neste exemplo, é de 90%, mas este modelo é muito ru
im, pois todas as 10 pessoas doentes foram classificadas como saudáveis. Com este exemplo, estamos tentando dizer que a acurácia não é uma boa métrica quando o conjunto de dados é desequilibrado. Usar a acurácia em tais cenários pode resultar em uma interpretação enganosa dos resultados.
Portanto, avançamos para encontrar outra métrica de classificação. Novamente, voltamos ao exemplo da classificação de gravidez.
Precisão: Medindo a Confiabilidade
A precisão é definida como a seguinte razão:

A precisão deve idealmente ser 1 (alta) para um bom classificador. A precisão se torna 1 apenas quando o numerador e o denominador são iguais, ou seja, TP = TP + FP, o que também significa que FP é zero. À medida que FP aumenta, o valor do denominador se torna maior que o do numerador e o valor da precisão diminui (o que não queremos).
Portanto, no exemplo da gravidez, a precisão = 30 / (30 + 5) = 0,857.
Revocação: Capturando Tudo o que é Importante
A revocação deve idealmente ser 1 (alta) para um bom classificador. A revocação se torna 1 apenas quando o numerador e o denominador são iguais, ou seja, TP = TP + FN, o que também significa que FN é zero. À medida que FN aumenta, o valor do denominador se torna maior que o do numerador e o valor da revocação diminui (o que não queremos).
Portanto, no exemplo da gravidez, vamos ver qual será a revocação.
A revocação = 30 / (30 + 10) = 0,75.
Pontuação F1: Encontrando um Equilíbrio
Idealmente, em um bom classificador, queremos que tanto a precisão quanto a revocação sejam iguais a 1, o que também significa que FP e FN são zero. Portanto, precisamos de uma métrica que leve em consideração tanto a precisão quanto a revocação. A Pontuação F1 é uma métrica que faz isso e é definida da seguinte forma:

A Pontuação F1 se torna 1 apenas quando a precisão e a revocação são ambas 1. A Pontuação F1 se torna alta apenas quando tanto a precisão quanto a revocação são altas. A Pontuação F1 é a média harmônica da precisão e da revocação e é uma medida melhor do que a acurácia.
No exemplo da gravidez, a Pontuação F1 = 2 * (0,857 * 0,75) / (0,857 + 0,75) = 0,799.
Conclusão
Avaliar o desempenho de um modelo de machine learning vai além da simples acurácia. A matriz de confusão e métricas como precisão, revocação e pontuação F1 nos fornecem insights mais profundos sobre como o modelo está classificando os dados. Portanto, ao trabalhar com problemas de classificação, lembre-se de olhar além da acurácia e usar métricas que se adequem ao equilíbrio do seu conjunto de dados. Afinal, entender essas métricas é fundamental para construir modelos de machine learning confiáveis.
Leitura Adicional
Para saber mais sobre métricas comuns de classificação binária, confira este interessante artigo da neptune.ai aqui.