Clasificación binaria
Nota:
Consulte la pestaña Texto e imágenes para obtener más detalles.
La clasificación, como la regresión, es una técnica de aprendizaje automático supervisado ; y, por tanto, sigue el mismo proceso iterativo de entrenamiento, validación y evaluación de modelos. En lugar de calcular valores numéricos como un modelo de regresión, los algoritmos usados para entrenar modelos de clasificación calculan valores de probabilidad para la asignación de clases y las métricas de evaluación usadas para evaluar el rendimiento del modelo comparan las clases predichas con las clases reales.
Los algoritmos de clasificación binaria se usan para entrenar un modelo que predice una de las dos etiquetas posibles para una sola clase. Básicamente, predecir true o false. En la mayoría de los escenarios reales, las observaciones de datos usadas para entrenar y validar el modelo constan de varios valores de característica (x) y un valor y que es 1 o 0.
Ejemplo: clasificación binaria
Para comprender cómo funciona la clasificación binaria, echemos un vistazo a un ejemplo simplificado que usa una sola característica (x) para predecir si la etiqueta y es 1 o 0. En este ejemplo, usaremos el nivel de glucosa en sangre de un paciente para predecir si el paciente tiene diabetes o no. Estos son los datos con los que entrenaremos el modelo:
|
|
|---|---|
| Glucosa en sangre (x) | ¿Diabético? (sí) |
| 67 | 0 |
| 103 | 1 |
| 114 | 1 |
| 72 | 0 |
| 116 | 1 |
| 65 | 0 |
Entrenamiento de un modelo de clasificación binaria
Para entrenar el modelo, usaremos un algoritmo para ajustar los datos de entrenamiento a una función que calcula la probabilidad de que la etiqueta de clase sea verdadera (es decir, que el paciente tiene diabetes). La probabilidad se mide como un valor entre 0,0 y 1,0, de modo que la probabilidad total de todas las clases posibles es 1,0. Por ejemplo, si la probabilidad de que un paciente tenga diabetes es 0,7, entonces hay una probabilidad correspondiente de 0,3 que el paciente no es diabético.
Hay muchos algoritmos que se pueden usar para la clasificación binaria, como la regresión logística, que deriva una función sigmoid (con forma S) con valores comprendidos entre 0,0 y 1,0, de la siguiente manera:
Nota:
A pesar de su nombre, en la regresión logística de aprendizaje automático se usa para la clasificación, no para la regresión. El punto importante es la naturaleza logística de la función que genera, que describe una curva con forma S entre un valor inferior y superior (0,0 y 1,0 cuando se usa para la clasificación binaria).
La función generada por el algoritmo describe la probabilidad de que y sea true (y=1) para un valor determinado de x. Matemáticamente, puede expresar la función de la siguiente manera:
f(x) = P(y=1 | x)
Para tres de las seis observaciones de los datos de entrenamiento, sabemos que y es definitivamente cierta, por lo tanto, la probabilidad de que esas observaciones tengan y=1 es 1.0. Y para las otras tres, sabemos que y es definitivamente falsa, por lo tanto, la probabilidad de que y=1 sea 0.0. La curva con forma S describe la distribución de probabilidad para que trazar un valor de x en la línea identifique la probabilidad correspondiente de que y es 1.
El diagrama también incluye una línea horizontal para indicar el umbral en el que un modelo basado en esta función predecirá true (1) o false (0). El umbral se encuentra en el punto medio de y (P(y) = 0,5). Para cualquier valor en este punto o superior, el modelo predecirá true (1); mientras que para cualquier valor por debajo de este punto predecirá false (0). Por ejemplo, para un paciente con un nivel de glucosa en sangre de 90, la función daría como resultado un valor de probabilidad de 0,9. Dado que 0,9 es mayor que el umbral de 0,5, el modelo predeciría true (1): en otras palabras, se predice que el paciente tiene diabetes.
Evaluación de un modelo de clasificación binaria
Al igual que con la regresión, al entrenar un modelo de clasificación binaria, se mantiene un subconjunto aleatorio de datos con el que validar el modelo entrenado. Supongamos que conservamos los siguientes datos para validar nuestro clasificador de diabetes:
| Glucosa en sangre (x) | ¿Diabético? (sí) |
|---|---|
| 66 | 0 |
| 107 | 1 |
| 112 | 1 |
| 71 | 0 |
| 87 | 1 |
| 89 | 1 |
La aplicación de la función logística que derivamos anteriormente a los valores x da como resultado el siguiente trazado.
En función de si la probabilidad calculada por la función está por encima o por debajo del umbral, el modelo genera una etiqueta predicha de 1 o 0 para cada observación. A continuación, podemos comparar las etiquetas de clase predichas (ŷ) con las etiquetas de clase reales (y), como se muestra aquí:
| Glucosa en sangre (x) | Diagnóstico real de diabetes (y) | Diagnóstico pronosticado de diabetes (ŷ) |
|---|---|---|
| 66 | 0 | 0 |
| 107 | 1 | 1 |
| 112 | 1 | 1 |
| 71 | 0 | 0 |
| 87 | 1 | 0 |
| 89 | 1 | 1 |
Métricas de evaluación de clasificación binaria
El primer paso para calcular las métricas de evaluación de un modelo de clasificación binaria suele ser crear una matriz del número de predicciones correctas e incorrectas para cada etiqueta de clase posible:
Esta visualización se denomina matriz de confusión y muestra los totales de predicción donde:
- ŷ=0 e y=0: Verdaderos negativos (TN)
- ŷ=1 y y=0: Falsos positivos (FP)
- ŷ=0 y y=1: Falsos negativos (FN)
- ŷ=1 y y=1: Verdaderos positivos (TP)
La disposición de la matriz de confusión es tal que las predicciones correctas (verdaderas) se muestran en una línea diagonal de arriba izquierda a inferior derecha. A menudo, la intensidad del color se usa para indicar el número de predicciones en cada celda, por lo que un vistazo rápido a un modelo que predice bien debe revelar una tendencia diagonal profundamente sombreada.
Exactitud
La métrica más sencilla que se puede calcular a partir de la matriz de confusión es la exactitud : la proporción de predicciones que el modelo tiene correcto. La Exactitud se calcula como:
(TN+TP) ÷ (TN+FN+FP+TP)
En el caso de nuestro ejemplo de diabetes, el cálculo es:
(2+3) ÷ (2+1+0+3)
= 5 ÷ 6
= 0.83
Por lo tanto, para nuestros datos de validación, el modelo de clasificación de diabetes produjo predicciones correctas el 83 % del tiempo.
La Exactitud puede parecer inicialmente una buena métrica para evaluar un modelo, pero tenga en cuenta esto. Supongamos que 11% de la población tiene diabetes. Podría crear un modelo que siempre prediga 0 y lograría una Exactitud de 89%, aunque no intente diferenciar entre pacientes mediante la evaluación de sus características. Lo que realmente necesitamos es una comprensión más profunda de cómo funciona el modelo en la predicción de 1 para casos positivos y 0 para casos negativos.
Coincidencia
La coincidencia es una métrica que mide la proporción de casos positivos que el modelo identificó correctamente. En otras palabras, en comparación con el número de pacientes que tienen diabetes, ¿cuántos predecía el modelo tener diabetes?
La fórmula para la coincidencia es:
TP ÷ (TP+FN)
Para nuestro ejemplo de diabetes:
3 ÷ (3+1)
= 3 ÷ 4
= 0.75
Así pues, nuestro modelo identificó correctamente como diabéticos al 75 % de los pacientes.
Precisión
La precisión es una métrica similar al coincidencia, pero mide la proporción de casos positivos previstos en los que la etiqueta verdadera es realmente positiva. En otras palabras, ¿qué proporción de los pacientes predichos por el modelo para tener diabetes realmente tienen diabetes?
La fórmula de precisión es:
TP ÷ (TP+FP)
Para nuestro ejemplo de diabetes:
3 ÷ (3+0)
= 3 ÷ 3
= 1.0
Por lo tanto, 100% de los pacientes predichos por nuestro modelo que tienen diabetes efectivamente tienen diabetes.
Puntuación F1
La puntuación F1 es una métrica general que combina la coincidencia y la precisión. La fórmula de la puntuación F1 es:
(2 x precisión x coincidencia) ÷ (precisión y coincidencia)
Para nuestro ejemplo de diabetes:
(2 x 1,0 x 0,75) ÷ (1,0 + 0,75)
= 1,5 ÷ 1,75
= 0,86
Área bajo la curva (AUC)
Otro nombre para la coincidencia es la tasa positiva verdadera (TPR) y hay una métrica equivalente denominada tasa de falsos positivos (FPR) que se calcula como FP÷(FP+TN). Ya sabemos que el TPR de nuestro modelo cuando se usa un umbral de 0,5 es 0,75 y podemos usar la fórmula para FPR para calcular un valor de 0÷2 = 0.
Por supuesto, si se cambiara el umbral por encima del cual el modelo predice true (1), afectaría al número de predicciones positivas y negativas; y, por tanto, cambie las métricas de TPR y FPR. Estas métricas se usan a menudo para evaluar un modelo trazando una curva de característica de operador recibida (ROC) que compara el TPR y FPR para cada valor de umbral posible entre 0,0 y 1,0:
La curva ROC para un modelo perfecto subiría verticalmente a lo largo del eje TPR en el lado izquierdo y luego seguiría horizontalmente a lo largo del eje FPR en la parte superior. Dado que el área de trazado de la curva mide 1x1, el área debajo de esta curva perfecta sería 1,0 (lo que significa que el modelo es correcto 100% del tiempo). Por el contrario, una línea diagonal de la parte inferior izquierda a la parte superior derecha representa los resultados que se lograrían adivinando aleatoriamente una etiqueta binaria; produciendo un área bajo la curva de 0,5. En otras palabras, dadas dos etiquetas de clase posibles, podría esperar adivinar correctamente el 50 % del tiempo.
En el caso de nuestro modelo de diabetes, se produce la curva anterior, y la métrica área bajo la curva (AUC) es 0,875. Dado que la AUC es superior a 0,5, podemos concluir que el modelo funciona mejor a la hora de predecir si un paciente tiene diabetes o no que adivinar aleatoriamente.