Limites e a matriz de confusão

Digamos que você tenha um modelo de regressão logística para a detecção de e-mails 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 spam em uma pasta de e-mail separada. Para isso, você precisa converter a saída numérica bruta do modelo (por exemplo, 0.75) em uma das 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 (neste caso, spam). Os exemplos com uma probabilidade menor são atribuídos à classe negativa, a classe alternativa (neste caso, 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 limiar de classificação (por exemplo, uma pontuação de 0,5 em que o limiar de classificação também é 0,5)? O processamento para esse 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 dê a pontuação 0,99 a um e-mail, 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 possa parecer 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 deixar o spam na caixa de entrada, marcar qualquer coisa que o modelo considere com pelo menos 50% de probabilidade de ser spam como spam produz resultados indesejáveis.

Matriz de confusão

A pontuação de probabilidade não é uma realidade ou informações empíricas. 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:

Verdadeiro positivo Verdadeiro negativo
Positivo previsto Verdadeiro positivo (VP): um e-mail de spam classificado corretamente como spam. São as mensagens de spam enviadas automaticamente para a pasta de spam. Falso positivo (FP): um e-mail não spam classificado incorretamente como spam. Esses são os e-mails legítimos que acabam na pasta de spam.
Negativo previsto 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 de spam e chegam à caixa de entrada. Verdadeiro negativo (VN): um e-mail não spam classificado corretamente como não spam. Esses são os e-mails legítimos que são 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 + TN), independentemente da validade. O total em cada coluna, por sua vez, mostra todos os verdadeiros positivos (TP + FN) e todos os verdadeiros negativos (FP + TN), independentemente da classificação do modelo.

Quando o total de positivos reais não está próximo do total de negativos reais, o conjunto de dados está desbalanceado. Uma instância de um conjunto de dados desequilibrado pode ser um conjunto de milhares de fotos de nuvens, em que o tipo raro de nuvem em que você está interessado, digamos, nuvens de voluta, aparece apenas algumas vezes.

Efeito do limite em verdadeiros e falsos positivos e negativos

Limites diferentes geralmente resultam em números distintos 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 exemplos positivos e negativos geralmente são bem diferenciados, sendo que a maioria dos exemplos positivos tem pontuações mais altas do que os negativos.
  • Não separados, em que muitos exemplos positivos têm notas mais baixas do que exemplos negativos, e muitos exemplos negativos têm notas mais altas do que exemplos positivos.
  • Desequilíbrio, 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 por engano um site legítimo como malware. Como isso é chamado?
Falso positivo
Um exemplo negativo (site legítimo) foi classificado incorretamente como um exemplo positivo (site de malware).
Um verdadeiro positivo
Um verdadeiro positivo seria um site de malware corretamente classificado como malware.
Um falso negativo
Um falso negativo seria um site com malware classificado incorretamente como legítimo.
Um verdadeiro negativo
Um verdadeiro negativo seria um site legítimo corretamente classificado 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 o controle deslizante acima.
Os falsos positivos e verdadeiros diminuem.
À medida que o limite aumenta, o modelo provavelmente vai prever menos positivos no geral, verdadeiros e 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, o que significa que é altamente improvável que ele rotule incorretamente um e-mail legítimo, mas também é provável que ele perca e-mails de spam reais.
Os verdadeiros e falsos positivos aumentam.
Usando o controle deslizante acima, tente definir o limite como 0,1 e, em seguida, 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.
Com 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 limiar de classificação aumenta? E os verdadeiros negativos? Teste o controle deslizante acima.
Os falsos positivos e negativos aumentam.
À medida que o limite aumenta, o modelo provavelmente vai prever mais negativos no geral, verdadeiros e falsos. Em um limite muito alto, quase todos os e-mails, spam e não spam, serão classificados como não spam.
Os verdadeiros e falsos negativos diminuem.
Com 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.
Com 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?