Analytics Business Intelligence

¡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

Acerca de alb3rtoalonso

Soy un enamorado del poder de los datos. Entusiasta de la mejora y formación contínua. A lo largo de estos últimos años, he trabajado sobre las diferentes áreas de Data Management, para grandes compañías como Cyndea Pharma, beIN Sports, MediaPro, Himoinsa, Liberty Seguros y Airbus Defense & Space, Essity. En ellos, he llevado a término, proyectos de analítica avanzada y modelaje predictivo. Formo parte del grupo de expertos tecnológicos a nivel Mundial de mi actual compañía, denominado SogetiLabs. Dentro del mismo soy el responsable global del círculo de Machine Learning, lo que me permite tener una visión general de los desarrollos del grupo, así como motivar a los compañeros hacia el campo del ML y participar activamente en la creación de buenas prácticas. Mi espíritu de competidor es el que impulsa a seguir mejorando. Si bien, como buen jugador, sé comportarme correctamente cuando gano, y cuando pierdo. Me gusta el trabajo en equipo, tanto con compañeros de la organización como con terceras personas (clientes, compañeros de otras consultoras, etc). Con la implicación de todos, el desarrollo siempre es más eficiente. Habituado a trabajar entorno de desarrollo sobre metodologías ágiles. A mis compañeros les sorprende mi dedicación al estudio de nuevas tecnologías y metodologías. No hay semana en la que no participe, consuma o asista a algún ‘meet up’. Intento divulgar el conocimiento a través de mi presencia en internet; web, blogs, Kaggle, Github, Twitter. En definitiva, dedico gran parte de mi tiempo de ocio en curiosear acerca de la tecnología y sus múltiples usos. Actualmente estoy cursando el Máster Universitario de Ciencia de Datos en la UOC, soy licenciado en Farmacia por la Universidad San Pablo CEU, además de haber realizado un Curso Superior de Dirección Empresarial por el IFE de Madrid y finalizado el Grado Superior de Desarrollo de Aplicaciones Multiplataforma. A día de hoy desempeño el rol de Data Scientist dentro del equipo de Inteligencia de Negocio y Analítica Avanzada de Sogeti España. He sido aceptado como integrante del grupo internacional de tecnología SogetiLabs. También pertenezco al Grupo de Usuarios de Power Bi en España.

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

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

A %d blogueros les gusta esto: