Precision, Recall ou F1-Score ? Qual a melhor métrica para utilizar em seu modelo?
Fala galera dos dados! vamos falar aqui sobre três métricas de classificação para serem utilizadas em seus modelos da melhor forma e atender corretamente o problema de negócio que você deseja solucionar.
Matriz de Confusão
Matriz de Confusão de fato é onde toda análise se inicia, através dela é possível identificar os Verdadeiros Negativos(TN), Falsos Positivos(FP), Falsos Negativos(FN), Verdadeiros Positivos(TP) e com isso é possível entender como as métricas surgem.
Existem quatro tipos de combinações de matriz, veja abaixo quais são elas:
Nesta abordagem vamos utilizar a variação ‘‘D’’, pois é assim que o sklearn mostra a matriz.
Precision
Precision pode ser interpretada como: de todas as predições corretas, quantas delas foram preditas pelo modelo corretamente. Precisão diz o quanto ele é confiável ao classificar.
Veja abaixo o exemplo de como isto ocorre:
Pontos de atenção
- Pode ser usado como uma única métrica para avaliar modelos de classificação.
- Bons modelos podem não encontrar todos os positivos, mas espera-se que os previstos sejam os mais corretos.
- Modelos ruins podem encontrar muitos positivos, mas muitos deles são falsos positivos
Recall
A maneira como interpretar essa métrica é a seguinte: de todas as previsões positivas, quais delas são realmente verdadeiras. Recall do modelo diz à respeito de sua completude: tudo o que é certo ele consegue classificar. Recall nos mostra tambem o quanto do espaço de possibilidades o modelo consegue compreender.
Veja abaixo o exemplo de como isto ocorre:
Pontos de atenção
- Pode ser usado como uma única métrica de classificação.
- Um modelo com um alto recall é capaz de encontrar a maioria dos casos verdadeiros.
- Um modelo com baixo recall não consegue encontrar casos reais.
Trade-off entre precision e recall
Em um mundo ideal é possível encontrar todos os verdadeiros positivos (precisão) e apenas verdadeiros positivos (recall), infelizmente na realidade isso não ocorre facilmente, devido a esse problema é necessário um trade-off.
O trade off entre precisão e recall acontece quando no negócio um deles é mais exigido que o outro. Considere um banco que deseja saber o número de clientes churn, foi feita uma amostra de 2000 clientes.
A precision medirá os clientes corretos propensos a deixar o banco comparado a todos os clientes.
- Por exemplo, foi identificado que 212 dos 278 clientes querem sair, então a precisão do banco em identificar seus clientes é de 74%.
Caso contrário, a recall identifica todos os clientes que realmente deixaram o banco, quantos foram identificados corretamente.
- Os clientes de churn do banco na verdade são 212 dos 407 previstos, então o recall é de 52%.
Neste caso, precision é a métrica que o banco está procurando, pois a precision localiza entre os clientes que querem sair quais foram preditos de forma correta, veja que o mais importante para o banco é prever quem tem a potencial saída, pois os que ja sairam ja não são mais clientes.
Agora surge o seguinte questionamento: e se eu quiser aumentar a precision?! veja abaixo o que acontece se eu mudar o threshold em prol de conseguir este feito.
O resultado ficou ótimo por outro lado veja o impacto que causou na recall
Portanto, para aumentar esta precision sem duvidas a recall tera que diminuir e veice-versa. O que de fato desloca esta linha do modelo, tanto para um lado quanto para o outro é o que chamamos threshold ele é a chave de movimento para favorecer uma das métricas.
F1-Score
Além de Precision e Recall temos também o F-score que consiste na média harmônica entre elas, é uma métrica útil quando um se deseja a unificação das métricas.
Para o F1-Score temos quatro tipos de medidas: por classe, micro, macro e ponderada. Vamos falar sobre elas.
Podemos ver pela tabela acima que as classes estão desbalanceadas (uma das classes aparece muito mais que a outra), isso impactará diretamente nos resultados.
Por Classe
No F1-Score há uma medida por classe(0, 1), que pode ser vista pelo relatório de classificação do sklearn. Se você estiver assumindo uma métrica unificada, isso servirá perfeitamente.
Como F1 é uma média entre precision e recall, ela lidará com o mesmo peso para ambos. Então os cenários podem ser assim:
- F1-Score baixo se recall e precision tiverem valores baixos.
- F1-Score Alto se o recall e a precision tiverem valores altos.
- F1-Score Médio se tanto o recall quanto a precision tiverem valor baixo ou se um deles for alto e o outro baixo.
Macro Média
Macro Average é a conhecida média aritmética, a soma de todas as classes médias divididas pelo total de classes, ela não levará em consideração os valores amostrais, tratando as classes igualmente.
Média ponderada
A média ponderada é calculada tomando-se a média da frequência de todas as classes da amostra. Veja a tabela abaixo para ver como funciona.
Considere uma amostra desequilibrada, esta métrica atribuiu peso à medida que cada classe aparecer, útil para lidar com o desequilíbrio sendo mais justo com as classes minoritarias.
Micro Média
A micro média pode ser considerada como a precisão do modelo, uma vez que ambos são calculados com base na soma dos Verdadeiros Positivos (**TP**), Falsos Negativos (**FN**) e Falsos Positivos(**FP** ). De fato micro é uma boa métrica se o conjunto de dados estiver balanceado.
Acurácia serve para medir em porcentagem o quanto as previsões estão corretas em comparação com a resposta verdadeira.
Observações para escolher a métrica!
Esta decisão sempre precisa estar alinhada com o negócio, pois a partir disso você saberá se são permitidos falsos positivos ou não, se é preciso acertar todos os verdadeiros positivos da amostra.
Como visto no exemplo que foi abordado clientes propensos a sair do banco, o mais interessante foi usar a precision para mapear os possiveis clientes propensos, por outro lado em uma clinica de doenças cardiovascular o ideal é a recall, pois há a necessidade de tratar apenas os pacientes com a doença.
Dica para nunca esquecer sobre Precision
- PRECISION = TRUCK SIDE
Dica para nunca esquecer sobre recall
- RECALL=ALL TRUCKS
Enquanto a precisão se refere à porcentagem de seus resultados que são relevantes, o recall se refere à porcentagem do total de resultados relevantes classificados corretamente pelo seu algoritmo.
Em geral para F1-Score, se você estiver trabalhando com um conjunto de dados desequilibrado em que todas as classes são igualmente importantes, usar a média macro seria uma boa opção, pois trata todas as classes igualmente.
Isso significa que para o nosso exemplo envolvendo a classificação de aviões, barcos e carros, usaríamos a pontuação macro-F1.
Se você tiver um conjunto de dados desequilibrado, mas quiser atribuir uma contribuição maior a classes com mais exemplos no conjunto de dados, a média ponderada é preferível.
Isso porque, na média ponderada, a contribuição de cada classe para a média da F1 é ponderada pelo seu tamanho.
Suponha que você tenha um conjunto de dados balanceado e queira uma métrica facilmente compreensível para o desempenho geral, independentemente da classe. Nesse caso, você pode ir com precisão, que é essencialmente apontuação de micro F1.
Ufaaa, chegamos ao fim, agradeço pelo seu tempo!!!
aaaah e antes de você ir me adicione no linkedin, bora pra cima!!! https://www.linkedin.com/in/djalmajunior07/