Avaliar modelos de classificação
A precisão de treinamento de um modelo de classificação é muito menos importante do que o funcionamento desse modelo quando recebe dados novos e não vistos. Afinal, treinamos modelos para que eles possam ser usados em novos dados que encontramos no mundo real. Portanto, depois de treinar um modelo de classificação, você deve avaliar o desempenho dele em um conjunto de dados novos e não vistos.
Anteriormente, você criou um modelo que prevê se um paciente tem diabetes com base no nível de glicose no sangue. Agora, se você aplicar esse modelo a alguns dados que não fazem parte do conjunto de treinamento, obterá as seguintes previsões:
x | y | ŷ |
---|---|---|
83 | 0 | 0 |
119 | 1 | 1 |
104 | 1 | 0 |
105 | 0 | 1 |
86 | 0 | 0 |
109 | 1 | 1 |
Lembre-se de que x refere-se ao nível de glicemia, y refere-se a se o paciente é realmente diabético e ŷ refere-se à previsão do modelo sobre se o paciente é diabético.
O simples cálculo do número de previsões corretas às vezes é enganoso ou muito simplista para ajudá-lo a entender os tipos de erros que ela fará no mundo real. Para obter informações mais detalhadas, você pode tabular os resultados em uma estrutura chamada matriz de confusão, conforme mostrado aqui:
A confusion matrix mostra o número total de casos em que:
- O modelo previu 0 e o rótulo real é 0 (verdadeiros negativos [TN], superior esquerdo)
- O modelo previu 1 e o rótulo real é 1 (verdadeiros positivos [TP], inferior direito)
- O modelo previu 0 e o rótulo real é 1 (falsos negativos [FN], inferior esquerdo)
- O modelo previu 1 e o rótulo real é 0 (falsos positivos [FP], canto superior direito)
As células na confusion matrix geralmente são sombreadas para que os valores mais altos tenham uma tonalidade mais profunda. Isso facilita a visualização de uma tendência diagonal forte da esquerda superior para a direita inferior, realçando as células em que o valor previsto e o valor real são os mesmos.
Com esses valores principais, você pode calcular uma variedade de outras métricas que podem ajudar a avaliar o desempenho do modelo. Por exemplo:
- Precisão: (TP+TN)/(TP+TN+FP+FN); de todas as previsões, quantas estavam corretas?
- Recall: TP/(TP+FN); de todos os casos positivos, quantos o modelo identificou?
- Precisão: TP/(TP+FP); de todos os casos que o modelo previu como positivo, quantos são realmente positivos?