Limiares e a matriz de confusão

Digamos que você tenha um modelo de regressão logística para detecção de e-mails de spam que prevê um valor entre 0 e 1, representando a probabilidade de um determinado e-mail ser spam. Uma previsão de 0,50 significa uma probabilidade de 50% de que o e-mail seja spam, uma previsão de 0,75 significa uma probabilidade de 75% de que o e-mail seja spam, e assim por diante.

Você quer implantar esse modelo em um aplicativo de e-mail para filtrar o spam em uma pasta de e-mail separada. Mas, para isso, é necessário converter a saída numérica bruta do modelo (por exemplo, 0.75) em uma de duas categorias: "spam" ou "não spam".

Para fazer essa conversão, escolha uma probabilidade de limite, chamada de limite de classificação. Os exemplos com uma probabilidade acima do valor de limite são atribuídos à classe positiva, a classe que você está testando (aqui, spam). Os exemplos com uma probabilidade menor são atribuídos à classe negativa, a classe alternativa (aqui, not spam).

Clique aqui para mais detalhes sobre o limite de classificação.

Você pode estar se perguntando: o que acontece se a pontuação prevista for igual ao limite de classificação (por exemplo, uma pontuação de 0,5 em que o limite de classificação também é 0,5)? O processamento desse caso depende da implementação específica escolhida para o modelo de classificação. A biblioteca Keras prevê a classe negativa se a pontuação e o limite forem iguais, mas outras ferramentas/frameworks podem processar esse caso de maneira diferente.

Suponha que o modelo classifique um e-mail como 0,99, prevendo que ele tem 99% de chance de ser spam, e outro e-mail como 0,51, prevendo que ele tem 51% de chance de ser spam. Se você definir o limite de classificação como 0,5, o modelo vai classificar os dois e-mails como spam. Se você definir o limite como 0,95, apenas o e-mail com pontuação 0,99 será classificado como spam.

Embora 0, 5 pareça um limite intuitivo, não é uma boa ideia se o custo de um tipo de classificação incorreta for maior que o outro ou se as classes estiverem desequilibradas. Se apenas 0, 01% dos e-mails forem spam ou se o arquivamento incorreto de e-mails legítimos for pior do que permitir que o spam entre na caixa de entrada, rotular como spam qualquer coisa que o modelo considere pelo menos 50% provável de ser spam produz resultados indesejáveis.

Matriz de confusão

A pontuação de probabilidade não é a realidade nem a verdade fundamental. Há quatro resultados possíveis para cada saída de um classificador binário. No exemplo do classificador de spam, se você organizar as informações empíricas como colunas e a previsão do modelo como linhas, a tabela a seguir, chamada de matriz de confusão, será o resultado:

Positivo real Negativo real
Positivo previsto Verdadeiro positivo (VP): um e-mail de spam classificado corretamente como spam. Essas são as mensagens de spam enviadas automaticamente para a caixa de spam. Falso positivo (FP): um e-mail que não é spam classificado incorretamente como spam. São os e-mails legítimos que acabam na pasta de spam.
Previsão negativa Falso negativo (FN): um e-mail de spam classificado incorretamente como não spam. São e-mails de spam que não são detectados pelo filtro e chegam à caixa de entrada. Verdadeiro negativo (VN): um e-mail que não é spam classificado corretamente como não sendo spam. São os e-mails legítimos enviados diretamente para a caixa de entrada.

O total em cada linha mostra todos os positivos previstos (VP + FP) e todos os negativos previstos (FN + VN), independente da validade. O total em cada coluna, por sua vez, fornece todos os positivos reais (TP + FN) e todos os negativos reais (FP + TN), independente da classificação do modelo.

Quando o total de positivos reais não é próximo do total de negativos reais, o conjunto de dados está desequilibrado. Um exemplo de conjunto de dados desequilibrado é um conjunto de milhares de fotos de nuvens, em que o tipo raro de nuvem de interesse, digamos, nuvens volutus, aparece apenas algumas vezes.

Efeito do limiar em verdadeiros e falsos positivos e negativos

Limites diferentes geralmente resultam em números diferentes de verdadeiros e falsos positivos e verdadeiros e falsos negativos. O vídeo a seguir explica por que isso acontece.

Tente mudar o limite por conta própria.

Esse widget inclui três conjuntos de dados de brinquedo:

  • Separados, em que os exemplos positivos e negativos geralmente são bem diferenciados, com a maioria dos exemplos positivos tendo pontuações mais altas do que os negativos.
  • Não separados, em que muitos exemplos positivos têm pontuações menores do que exemplos negativos, e muitos exemplos negativos têm pontuações maiores do que exemplos positivos.
  • Desequilibrado, contendo apenas alguns exemplos da classe positiva.

Teste seu conhecimento

1. Imagine um modelo de classificação de phishing ou malware em que sites de phishing e malware estão na classe 1 (verdadeiro) e sites inofensivos estão na classe 0 (falso). Esse modelo classifica erroneamente um site legítimo como malware. Como isso é chamado?
Um falso positivo
Um exemplo negativo (site legítimo) foi classificado incorretamente como positivo (site de malware).
Um verdadeiro positivo
Um verdadeiro positivo seria um site de malware classificado corretamente como malware.
Um falso negativo
Um falso negativo seria um site de malware classificado incorretamente como legítimo.
Um verdadeiro negativo
Um verdadeiro negativo seria um site legítimo classificado corretamente como legítimo.
2. Em geral, o que acontece com o número de falsos positivos quando o limite de classificação aumenta? E quanto aos verdadeiros positivos? Teste com o controle deslizante acima.
Os verdadeiros e falsos positivos diminuem.
À medida que o limite aumenta, o modelo provavelmente prevê menos positivos no geral, tanto verdadeiros quanto falsos. Um classificador de spam com um limite de 0,9999 só vai rotular um e-mail como spam se considerar que a classificação tem pelo menos 99,99% de probabilidade. Isso significa que é altamente improvável que ele rotule um e-mail legítimo de forma incorreta, mas também é provável que ele perca um e-mail de spam real.
Os verdadeiros e falsos positivos aumentam.
Usando o controle deslizante acima, tente definir o limite como 0,1 e arraste-o para 0,9. O que acontece com o número de falsos positivos e verdadeiros positivos?
Os verdadeiros positivos aumentam. Os falsos positivos diminuem.
Usando o controle deslizante acima, tente definir o limite como 0,1 e arraste-o para 0,9. O que acontece com o número de falsos positivos e verdadeiros positivos?
3. Em geral, o que acontece com o número de falsos negativos quando o limite de classificação aumenta? E os verdadeiros negativos? Teste com o controle deslizante acima.
Os negativos verdadeiros e falsos aumentam.
À medida que o limite aumenta, o modelo provavelmente vai prever mais negativos no geral, tanto verdadeiros quanto falsos. Em um limite muito alto, quase todos os e-mails, tanto spam quanto não spam, serão classificados como não spam.
Os verdadeiros e falsos negativos diminuem.
Usando o controle deslizante acima, tente definir o limite como 0,1 e arraste-o para 0,9. O que acontece com o número de falsos negativos e verdadeiros negativos?
Os verdadeiros negativos aumentam. Os falsos negativos diminuem.
Usando o controle deslizante acima, tente definir o limite como 0,1 e arraste-o para 0,9. O que acontece com o número de falsos negativos e verdadeiros negativos?