Umbrales y matriz de confusión

Supongamos que tienes un modelo de regresión logística para la detección de correos electrónicos de spam que pide un valor entre 0 y 1, que representa la probabilidad de que un correo electrónico determinado sea spam. Una predicción de 0.50 significa que hay un 50% de probabilidad de que el correo electrónico sea spam, una predicción de 0.75 significa que hay un 75% de probabilidad de que el correo electrónico sea spam, etcétera.

Quieres implementar este modelo en una aplicación de correo electrónico para filtrar el spam en una carpeta de correo separada. Sin embargo, para hacerlo, debes convertir el resultado numérico sin procesar del modelo (p.ej., 0.75) en una de las dos categorías: "es spam" o "no es spam".

Para realizar esta conversión, eliges una probabilidad de umbral, llamada umbral de clasificación. Los ejemplos con una probabilidad superior al valor del umbral se asignan a la clase positiva, la clase para la que realizas la prueba (aquí, spam). Los ejemplos con una probabilidad más baja se asignan a la clase negativa, la clase alternativa (aquí, not spam).

Haz clic aquí para obtener más detalles sobre el umbral de clasificación

Te preguntarás qué sucede si la puntuación prevista es igual al umbral de clasificación (por ejemplo, una puntuación de 0.5 cuando el umbral de clasificación también es 0.5). El manejo de este caso depende de la implementación en particular que se elija para el modelo de clasificación. La biblioteca de Keras predice la clase negativa si la puntuación y el umbral son iguales, pero otras herramientas o frameworks pueden controlar este caso de manera diferente.

Supongamos que el modelo califica un correo electrónico como 0.99, lo que predice que tiene un 99% de probabilidades de ser spam, y otro correo electrónico como 0.51, lo que predice que tiene un 51% de probabilidades de ser spam. Si estableces el umbral de clasificación en 0.5, el modelo clasificará ambos correos electrónicos como spam. Si estableces el umbral en 0.95, solo el correo electrónico con una puntuación de 0.99 se clasificará como spam.

Si bien 0.5 puede parecer un umbral intuitivo, no es una buena idea si el costo de un tipo de clasificación incorrecta es mayor que el otro o si las clases no están equilibradas. Si solo el 0.01% de los correos electrónicos es spam, o si clasificar correos electrónicos legítimos de forma incorrecta es peor que permitir que el spam entre en la carpeta Recibidos, etiquetar como spam todo lo que el modelo considere que tiene al menos un 50% de probabilidades de ser spam produce resultados no deseados.

Matriz de confusión

La puntuación de probabilidad no es la realidad ni la verdad fundamental. Hay cuatro resultados posibles para cada salida de un clasificador binario. En el ejemplo del clasificador de spam, si organizas la verdad fundamental como columnas y la predicción del modelo como filas, el resultado es la siguiente tabla, llamada matriz de confusión:

Positivo real Negativo real
Positivo previsto Verdadero positivo (VP): Un correo electrónico de spam clasificado correctamente como tal. Estos son los mensajes de spam que se envían automáticamente a la carpeta de spam. Falso positivo (FP): Un correo electrónico que no es spam clasificado erróneamente como tal. Estos son los correos electrónicos legítimos que terminan en la carpeta de spam.
Negativo previsto Falso negativo (FN): Un correo electrónico de spam clasificado erróneamente como no spam. Son correos electrónicos de spam que el filtro de spam no detecta y que llegan a la carpeta Recibidos. Verdadero negativo (VN): Un correo electrónico que no es spam y que se clasificó correctamente como tal. Estos son los correos electrónicos legítimos que se envían directamente a la carpeta Recibidos.

Observa que el total de cada fila muestra todos los positivos pronosticados (VP + FP) y todos los negativos pronosticados (FN + TN), independientemente de la validez. Mientras tanto, el total de cada columna muestra todos los verdaderos positivos (VP + FN) y todos los verdaderos negativos (FP + VN), independientemente de la clasificación del modelo.

Cuando el total de positivos reales no está cerca del total de negativos reales, el conjunto de datos está desbalanceado. Un ejemplo de un conjunto de datos desequilibrado podría ser un conjunto de miles de fotos de nubes, en el que el tipo de nube poco común que te interesa, por ejemplo, las nubes volutus, solo aparece unas pocas veces.

Efecto del umbral en los verdaderos y falsos positivos y negativos

Los diferentes umbrales suelen generar diferentes cantidades de verdaderos y falsos positivos, y verdaderos y falsos negativos. En el siguiente video, se explica por qué ocurre esto.

Intenta cambiar el umbral por tu cuenta.

Este widget incluye tres conjuntos de datos de juguete:

  • Separado: En este caso, los ejemplos positivos y negativos suelen estar bien diferenciados, y la mayoría de los ejemplos positivos tienen puntuaciones más altas que los ejemplos negativos.
  • Sin separar, en el que muchos ejemplos positivos tienen puntuaciones más bajas que los ejemplos negativos, y muchos ejemplos negativos tienen puntuaciones más altas que los ejemplos positivos.
  • Desequilibrados, que contienen solo algunos ejemplos de la clase positiva.

Verifica tu comprensión

1. Imagina un modelo de clasificación de phishing o software malicioso en el que los sitios web de phishing y software malicioso están en la clase etiquetada como 1 (verdadero) y los sitios web inofensivos están en la clase etiquetada como 0 (falso). Este modelo clasifica por error un sitio web legítimo como software malicioso. ¿Cómo se llama esto?
Un falso positivo
Un ejemplo negativo (sitio legítimo) se clasificó de forma incorrecta como un ejemplo positivo (sitio de software malicioso).
Un verdadero positivo
Un verdadero positivo sería un sitio de software malicioso que se clasificó correctamente como software malicioso.
Un falso negativo
Un falso negativo sería un sitio de software malicioso clasificado de forma incorrecta como un sitio legítimo.
Un verdadero negativo
Un verdadero negativo sería un sitio legítimo clasificado correctamente como tal.
2. En general, ¿qué sucede con la cantidad de falsos positivos cuando aumenta el umbral de clasificación? ¿Qué sucede con los verdaderos positivos? Experimenta con el control deslizante anterior.
Disminuyen los verdaderos positivos y los falsos positivos.
A medida que aumenta el umbral, es probable que el modelo predique menos positivos en general, tanto verdaderos como falsos. Un clasificador de spam con un umbral de 0 .9999 solo etiquetará un correo electrónico como spam si considera que la clasificación tiene al menos un 99.99% de probabilidad, lo que significa que es muy poco probable que etiquete erróneamente un correo electrónico legítimo, pero también es probable que omita el correo electrónico de spam real.
Aumentan los verdaderos positivos y los falsos positivos.
Con el control deslizante anterior, intenta establecer el umbral en 0.1 y, luego, arrástralo a 0.9. ¿Qué sucede con la cantidad de falsos positivos y verdaderos positivos?
Aumentan los verdaderos positivos. Disminuyen los falsos positivos.
Con el control deslizante anterior, intenta establecer el umbral en 0.1 y, luego, arrástralo a 0.9. ¿Qué sucede con la cantidad de falsos positivos y verdaderos positivos?
3. En general, ¿qué sucede con la cantidad de falsos negativos cuando aumenta el umbral de clasificación? ¿Qué sucede con los verdaderos negativos? Experimenta con el control deslizante anterior.
Aumentan los falsos negativos y los verdaderos negativos.
A medida que aumenta el umbral, es probable que el modelo prediga más negativos en general, tanto verdaderos como falsos. Si el umbral es muy alto, casi todos los correos electrónicos, tanto los de spam como los que no son spam, se clasificarán como no spam.
Disminuyen los falsos negativos y los verdaderos negativos.
Con el control deslizante anterior, intenta establecer el umbral en 0.1 y, luego, arrástralo a 0.9. ¿Qué sucede con la cantidad de falsos negativos y verdaderos negativos?
Aumentan los verdaderos negativos. Disminuyen los falsos negativos.
Con el control deslizante anterior, intenta establecer el umbral en 0.1 y, luego, arrástralo a 0.9. ¿Qué sucede con la cantidad de falsos negativos y verdaderos negativos?