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, y así sucesivamente.

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 ello, debes convertir el resultado numérico sin procesar del modelo (p.ej., 0.75) en una de 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 son spam, o si enviar correos electrónicos no legítimos es peor que dejar spam en Recibidos, etiquetar cualquier elemento que el modelo considere que es, al menos, el 50% probable como 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 resultado 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): Es un correo electrónico de spam clasificado correctamente como correo electrónico spam. 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.

Ten en cuenta que el total en cada fila proporciona todos los positivos predichos (VP + FP) y todos los negativos predichos (FN + VN), independientemente de su 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 los positivos reales no se acerca al total de los negativos reales, el conjunto de datos queda desequilibrado. 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:

  • Separados, en los que 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, donde muchos ejemplos positivos tienen puntuaciones más bajas que ejemplos negativos y muchos ejemplos negativos tienen puntuaciones más altas que 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 clasificado 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.
Tanto los verdaderos como los falsos positivos disminuyen.
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 se pierda 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 aumente el umbral, es probable que el modelo prediga más negativos en general, tanto los verdaderos como los falsos. Si el umbral es muy alto, casi todos los correos electrónicos, tanto spam como no 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?
Los verdaderos negativos aumentan. 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?