¡Qué no te den gato por liebre! O cómo evaluar correctamente tu modelo de clasificación

En este artículo, voy a hablar acerca de la importancia de comprender el significado de las métricas de evaluación, en problemas de clasificación. Para de esta manera, poder seleccionar la mejor y evaluar con seguridad nuestro modelo.Durante uno de los frecuentes meetup de la comunidad de Python Madrid  al que tuve el placer de asistir, se presentaron dos casos de uso. El primero corrió a cargo de Marta Rivera Alba y el segundo fue conducido por Francisco Javier Ordoñez. Ambos son experimentados Data Scientist y tuvieron el detalle de hablarnos acerca de su actual desempeño en las organizaciones en las que trabajan.

Es sobre el caso presentado por el segundo ponente, sobre el que quería centrarme en esta ocasión. Para empezar, comentar que, a grandes rasgos, el principal objetivo de su trabajo como científico de datos, es encontrar productos exactos en multitud de páginas web, catálogos, publicaciones. He destacado la palabra “exactos”, porque para considerar un “match”, los dos productos en las imágenes, deben ser exactamente iguales. No sirve que sean parecidos. Ahí está el kit de la cuestión.

Ahora alguien se preguntará. ¿Con qué fin? Pues con el propósito de ayudar a las empresas a optimizar su portfolio, precios, descuentos, etc. Esto te hace ver, que existen multitud de casos de uso de Inteligencia Artificial.

Una vez centrado el caso, sucedió que en un momento determinado, él hizo alusión al problema de desbalanceo que tenían: encontrar un par de imágenes de productos exactamente iguales dentro del conjunto global de referencias, es sumamente difícil.

Por lo tanto, las instancias clasificadas como “match” (1) son “despreciables” con respecto a las clasificadas como “no match” (0). Fue ahí donde habló, de la necesidad de utilizar correctamente, las métricas de evaluación para su modelo de clasificación.

Esto me ha servido como base para escribir acerca de lo importante que es, dentro de la ciencia de datos, la correcta aplicación y conocimiento de la estadística.

Así pues, tenemos que en los casos de uso resueltos mediante algoritmos de clasificación. Más concretamente en los de clasificación binaria, existe una forma sencilla de representar los resultados. Se llama matriz de confusión:

Liebre_alberto alonso

A partir de ella se ha construido un conjunto de medidas que nos informan acerca de la bondad de nuestro modelo. Las principales métricas con las que se trabaja son:

Liebre_alberto alonso II

En el ejemplo anterior, al calcular el valor de la exactitud obtenemos un 95%. Impresionante diría alguien.

Pues si calculamos el resto de medidas veremos que, lo que parecía impresionante, no lo es tanto. Es más, para el caso descrito anteriormente, el resultado no sería nada bueno.

  • Precisión, sería el valor que respondería a una pregunta del estilo. ¿Qué porcentaje de las predicciones positivas fueron correctas? El resultado sería: 70%
  • Recall, sería el valor que respondería a una pregunta del estilo. ¿Qué porcentaje de casos positivos se identificó correctamente? El resultado sería: 12,90%
  • F1-Score, sería el valor que respondiera a una pregunta del estilo. ¿Qué tan bueno es mi modelo? El resultado sería: 0,217

Para entender mejor F1-Score, vamos a realizar un ejercicio de imaginación. Así en vez de tener sólo 35 (TP), los cambiaremos por los 237 (FN). De este modo, el valor resultante para F1-Score sería de 0,904. Mientras que la Precisión y Recall aumentarían hasta el 94% y 87% respectivamente.

De este modo podemos concluir que:

  • Valores F1-Score cercanos a 1, nos permiten afirmar que el modelo cumple con nuestro propósito. Mientras que, en el caso que nos ocupa, tendríamos que determinar que, con un F1-Score de 0,217 el modelo resultante no es aceptable.
  • En un problema de Ciencia de Datos como éste, lo primero es entender el Negocio. Así se podrá manejar correctamente el caso de uso y posteriormente, avanzar junto a los datos, en los modelos de clasificación. Para a continuación, elegir los algoritmos, técnicas de búsqueda de parámetros, características, etc. Pero también, como has podido leer, es muy importante entender las medidas de validación de tu modelo, para evitar que “te den gato por liebre”.

Para finalizar el artículo, os dejo una breve implementación de este ejemplo en Python usando la librería scikit learn, que provee de las principales funciones, para obtener las distintas métricas a emplear en estos casos. Así pues tenemos:

liebre_alberto alonso III.JPG

Fuente | Module Sklearn Metrics

Alberto Alonso Marcos

Business Intelligence Architect | Soluciones Microsoft | Sogeti España

Autor: ITblogsogeti

Sogeti es una compañía tecnológica perteneciente al Grupo Capgemini y especialista en: Testing y Calidad de Software y Soluciones Microsoft. En Sogeti entendemos la importancia de obtener el máximo valor empresarial de sus sistemas de IT, por ello somos líderes mundiales en Testing & QA.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s