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.