Seleccionar la métrica correcta juega un papel enorme en la evaluación del rendimiento de un modelo. Puede sonar un poco exagerado, pero las posibilidades de éxito de tu proyecto dependen en gran parte de elegir una buena medida de rendimiento. Hacer la elección equivocada puede resultar en modelos que son una mala opción para la tarea que estás tratando de resolver.
Precisión y exhaustividad(recall) son dos conceptos básicos que necesitas entender cuando evalúas el rendimiento de clasificadores. La exactitud también es una elección muy popular, pero en muchas situaciones, podría no ser la mejor propiedad para medir.
Averigüemos por qué.
¿Qué tan exacto es tu clasificador?
Supón que estás construyendo un clasificador para categorizar fotos de números escritos a mano del 0 al 9. Tu conjunto de entrenamiento tiene la siguiente distribución, balanceada para incluir una cantidad igual de cada clase:
- 10% del conjunto de entrenamiento son imágenes de 0
- 10% del conjunto de entrenamiento son imágenes de 1
- 10% del conjunto de entrenamiento son imágenes de 2
- 10% del conjunto de entrenamiento son imágenes de 3
- 10% del conjunto de entrenamiento son imágenes de 4
- 10% del conjunto de entrenamiento son imágenes de 5
- 10% del conjunto de entrenamiento son imágenes de 6
- 10% del conjunto de entrenamiento son imágenes de 7
- 10% del conjunto de entrenamiento son imágenes de 8
- 10% del conjunto de entrenamiento son imágenes de 9
Construyes un primer clasificador cuyo objetivo es solo detectar si la imagen es un 1 o cualquier otro número (un clasificador binario). Como siempre, apartas tus conjuntos de validación y prueba y entrenas el clasificador. En la siguiente etapa, mides la exactitud del modelo y obtienes como resultado un valor del 87%, ¿pero es buena?
Bueno, realmente no. Imagina que tienes un modelo ingenuo que clasifica cada foto como No es 1. Con la distribución de nuestros ejemplos, clasificará correctamente el 90% de los ejemplos, ¡incluso mejor exactitud que nuestro modelo entrenado!
¿Por qué pasó esto? Bueno, para empezar, nuestros datos no están balanceados. Solo el 10% de los ejemplos pertenecen a la clase positiva (Es 1) mientras que el 90% restante pertenece a la clase no es 1. En la vida real podrías no tener acceso a conjuntos de datos balanceados, así que necesitas una mejor medida para el rendimiento que la simple exactitud.
Sobre la positividad de la clase positiva
Es importante aclarar que lo positivo en clase positiva no significa clase buena. Generalmente, etiquetamos como positivo el resultado de interés en nuestro dominio, independientemente de la naturaleza del resultado mismo.
Por ejemplo, en una aplicación donde queremos detectar tejido canceroso las imágenes con células cancerosas son parte de la clase positiva y las saludables están en la clase negativa.
Para una aplicación que detecta fraude (lo adivinaste) las transacciones fraudulentas son miembros de la clase positiva y las transacciones normales son miembros de la clase negativa.
Generalmente, clase positiva significa clase de interés, independientemente de la aplicación.
Introduciendo la matriz de confusión
Los clasificadores binarios pueden realizar 4 acciones diferentes:
- Clasificar correctamente un miembro de la clase A (la clase positiva) como A.
- Clasificar correctamente un miembro de la clase B (la clase negativa) como B.
- Clasificar incorrectamente un miembro de la clase B como A.
- Clasificar incorrectamente un miembro de la clase A como B.
Puedes expresar el número total de ocurrencias de cada escenario usando verdaderos y falsos positivos/negativos.
Definamos qué son estos:
- Verdadero positivo: Son instancias de la clase positiva que fueron clasificadas correctamente en la clase positiva. En nuestro ejemplo, sería una foto de un 1 clasificada correctamente como 1.
- Verdadero negativo: Son instancias de la clase negativa que fueron clasificadas correctamente en la clase negativa. En nuestro ejemplo, sería una foto de cualquier número que no sea 1 clasificada correctamente como no es 1
- Falso positivo: Son instancias de la clase negativa clasificadas incorrectamente en la clase positiva. En nuestro ejemplo, sería una foto de un número que no es 1, como un 8, clasificada incorrectamente como 1.
- Falso negativo: Son instancias de la clase positiva clasificadas incorrectamente en la clase negativa. En nuestro ejemplo, sería una foto de un 1 clasificada incorrectamente como No es 1.
Puedes ejecutar tu modelo en el conjunto de validación (o prueba) y contar cuántos verdaderos positivos/negativos y falsos positivos/negativos obtuviste. Una forma conveniente de visualizar el rendimiento de un clasificador es alineando los resultados en forma gráfica:
Analicemos cuadrante por cuadrante qué significa esto:
-
Cuadrante superior izquierdo: Este cuadrante tiene todas las instancias de 1 (la clase positiva) que fueron clasificadas correctamente como 1. Este es el cuadrante de verdaderos positivos
-
Cuadrante superior derecho: Este cuadrante tiene todas las instancias de No es 1 que fueron clasificadas incorrectamente como 1. Este es el cuadrante de los falsos positivos.
-
Cuadrante inferior izquierdo: Este cuadrante tiene todas las instancias de 1 que fueron clasificadas incorrectamente como No es 1. Este es el cuadrante de los falsos negativos.
-
Cuadrante inferior derecho: Este cuadrante tiene todas las instancias de No es 1 que fueron clasificadas correctamente como No es 1. Este es el cuadrante de verdaderos negativos
Puedes contar cuántas instancias caen en cada categoría y resumirlo en una tabla llamada matriz de confusión. La siguiente es una matriz de confusión basada en los resultados obtenidos por nuestro clasificador hipotético:
Ahora que entiendes qué son los verdaderos/falsos positivos/negativos y qué es una matriz de confusión estamos listos para definir precisión y exhaustividad.
Precisión y exhaustividad
Precisión y exhaustividad son métricas bastante útiles.
Precisión se define como la proporción entre todas las instancias que fueron clasificadas correctamente en la clase positiva contra el número total de instancias clasificadas en la clase positiva. En otras palabras, es el porcentaje de las instancias clasificadas en la clase positiva que realmente está correcto.
La ecuación para precisión es:
Hagamos un breve análisis de esta ecuación para entenderla mejor.
Los Verdaderos Positivos son todas las instancias que fueron clasificadas correctamente como positivas, ahora necesitamos dividirlo por el número total de instancias que fueron clasificadas como positivas. Si miras las imágenes anteriores, puedes ver que el número total de instancias clasificadas como positivas está dado por la suma de los verdaderos positivos y falsos positivos.
Podemos usar la matriz de confusión para calcular el valor de precisión para nuestro clasificador: 9/14
En un sentido práctico, la precisión te dice cuánto puedes confiar en tu clasificador cuando te dice que una instancia pertenece a la clase positiva. Un valor alto de precisión significa que hubo muy pocos falsos positivos y el clasificador es muy estricto en los criterios para clasificar algo como positivo.
Ahora echemos un vistazo al exhaustividad.
Exhaustividad se define como la proporción entre todas las instancias que fueron clasificadas correctamente en la clase positiva contra el número total de miembros reales de la clase positiva. En otras palabras, te dice cuántas del número total de instancias positivas fueron clasificadas correctamente.
La ecuación para exhaustividad es:
Hagamos otro breve análisis de la ecuación para entenderla mejor.
Los Verdaderos Positivos son todas las clases que fueron clasificadas correctamente como positivas, ahora necesitamos dividirlo por el número total de miembros reales de la clase positiva. Si miras las imágenes anteriores, puedes ver que el total de número de miembros de la clase positiva está dado por la suma de los verdaderos positivos y falsos negativos.
Podemos usar la matriz de confusión para calcular el valor de exhaustividad para nuestro clasificador: 9/13
En un sentido práctico, la exhaustividad te dice cuánto puedes confiar en tu clasificador para encontrar todos los miembros de la clase positiva. Un valor alto de exhaustividad significa que hubo muy pocos falsos negativos y que el clasificador es más permisivo en los criterios para clasificar algo como positivo.
El trade-off precisión/exhaustividad
Tener valores muy altos de precisión y exhaustividad es muy difícil en la práctica y a menudo necesitas elegir cuál es más importante para tu aplicación. Usualmente, aumentar el valor de precisión disminuye el valor de exhaustividad, y viceversa.
Brevemente, precisión y exhaustividad son:
- Precisión: Devuelve principalmente instancias positivas.
- exhaustividad: Encuentra tantas instancias positivas como sea posible.
El modelo mental más fácil que he encontrado para entender este trade-off es imaginar qué tan estricto es el clasificador. Si el clasificador es muy estricto en sus criterios para poner una instancia en la clase positiva, puedes esperar un valor alto en precisión: filtrará muchos falsos positivos. Al mismo tiempo, algunos miembros de la clase positiva serán clasificados como negativos (falsos negativos), algo que reducirá el exhaustividad.
Si el clasificador es muy permisivo encontrará tantas instancias en la clase positiva como sea posible, pero esto también significa que corres el riesgo de clasificar mal instancias de la clase negativa como positivas. Esto te dará un buen exhaustividad (clasificaste correctamente casi cada instancia positiva) pero reducirá la precisión (habrá más miembros de la clase negativa clasificados como positivos).
Para un ejemplo extremo imagina un modelo ingenuo que clasifica todo en la clase positiva. Este clasificador tendrá un valor de exhaustividad de 1 (encontró cada instancia positiva y la clasificó correctamente), pero también un valor de precisión abismal (montones de falsos positivos).
En la práctica, necesitas entender qué métrica es más importante para tu problema y optimizar tu modelo en consecuencia. Como regla general, si perder instancias positivas es inaceptable quieres tener un exhaustividad alto. Si lo que quieres es más confianza en tus verdaderos positivos entonces optimiza para precisión.
El diagnóstico de cáncer es un ejemplo donde los falsos positivos son más aceptables que los falsos negativos. Está bien si clasificas mal a personas saludables como miembros de la clase positiva (tiene cáncer). Perder a una persona que necesita tratamiento, por otro lado, es algo que no quieres. En este tipo de problema quieres valores de exhaustividad muy altos: encuentra tantos miembros de la clase positiva como sea posible.
El escenario opuesto es la clasificación de spam, donde los falsos negativos son mucho más tolerables que los falsos positivos. No importa si ocasionalmente encuentras un email de spam en tu bandeja de entrada, pero tener buenos emails clasificados como spam puede ser problemático. Este escenario favorece la precisión sobre el exhaustividad.
Elige la métrica correcta
Si tus datos están balanceados, la exactitud usualmente es una buena métrica para tener una idea del rendimiento de tu clasificador.
Cuando tus datos no están balanceados o el riesgo relativo de tener falsos positivos/falsos negativos es importante, necesitas métricas especiales. Precisión y exhaustividad son dos elecciones populares usadas ampliamente en diferentes tareas de clasificación, así que una comprensión básica de estos conceptos es importante para cada científico de datos.
Estas, por supuesto, no son los únicos métodos usados para evaluar el rendimiento de un clasificador. Otras métricas como el puntaje F1 y ROC AUC también son de uso generalizado, y se construyen encima de los conceptos que acabas de aprender.
Ahora estarás en una forma mucho mejor para continuar tu viaje hacia la maestría en ciencia de datos.
¡Gracias por leer!
Qué hacer después
- Comparte este artículo con amigos y colegas. Gracias por ayudarme a llegar a personas que podrían encontrar útil esta información.
- Este artículo está basado en el libro: Data Science for Business: What You Need to Know about Data Mining and Data-Analytic Thinking.
- Envíame un email con preguntas, comentarios o sugerencias (está en la página Autor)