Auto ML. Una aproximación diferente en la ciencia de datos

Fecha de la noticia: 09-02-2021

Auto ML

Ya ha llovido bastante desde que en 2012 se publicara aquel famoso artículo titulado "Data Scientist: The Sexiest Job of the 21st Century". Desde entonces el campo de la ciencia de datos se ha profesionalizado mucho. Se han desarrollado multitud de técnicas, frameworks y herramientas que aceleran el proceso de convertir datos brutos en información de valor. Una de estas técnicas se conoce cómo Auto ML o Machine Learning automático. En este artículo revisaremos las ventajas y características de este método. 

En un proceso de ciencia de datos (data science), cualquier científico de datos (data scientist) suele utilizar un método de trabajo sistemático, según el cual va destilando los datos crudos hasta conseguir extraer información de valor para el negocio del cual parten esos datos. Existen varias definiciones del proceso de análisis de datos, aunque suelen ser todas muy similares con pequeñas variantes. En la siguiente figura mostramos un ejemplo de proceso o workflow de análisis de datos.

Cómo vemos, podemos distinguir tres etapas: 

  1. Importación y limpieza. 

  1. Exploración y modelado. 

  1. Comunicación. 

Dependiendo del tipo de datos de origen y del resultado que busquemos alcanzar con estos datos, el proceso de modelado puede variar. Sin embargo, independientemente del modelo, el científico de datos debe de ser capaz de obtener un conjunto de datos limpios y preparados para servir como entrada al modelo. En este post vamos a centrarnos en la segunda etapa: exploración y modelado 

Una vez obtenidos estos datos limpios y libres de errores (tras su importación y limpieza en la etapa 1), el científico de datos debe de decidir qué transformaciones aplica a dichos datos, con el objetivo de que algunos datos derivados de los originales (en conjunto con los originales), sean los mejores indicadores del modelo subyacente al conjunto de datos. A estas transformaciones las denominamos características (en inglés, features). 

El siguiente paso es dividir nuestro conjunto de datos en dos partes: una parte, por ejemplo, un 60% del conjunto total, servirá cómo conjunto de datos de entrenamiento. El 40% restante lo reservaremos para aplicar nuestro modelo, una vez entrenado. A este segundo lo denominamos subset de prueba o test. Este proceso de división de los datos de origen se realiza con la intención de evaluar la fiabilidad del modelo antes de aplicarlo sobre nuevos datos desconocidos para el modelo. Ahora se desarrolla un proceso iterativo en el que el científico de datos prueba varios tipos de modelos que cree que pueden funcionar sobre este conjunto de datos. Cada vez que aplica un modelo, observa y mide los parámetros matemáticos (cómo precisión y reproducibilidad) que expresan cuánto de bien el modelo es capaz de reproducir los datos de prueba. Además de probar diferentes tipos de modelos, el científico de datos puede variar el conjunto de datos de entrenamiento con nuevas transformaciones, calculando nuevas y diferentes características, con el fin de dar con algunas características que hagan que el modelo en cuestión se ajuste mejor a los datos. 

Podemos imaginar que este proceso, repetido decenas o centenas de veces, es un gran consumidor de recursos tanto humanos como de cómputo. El científico de datos intenta realizar diferentes combinaciones de algoritmos, modelos, características y porcentajes de datos, en base a su experiencia y habilidad con las herramientas. Sin embargo, ¿qué pasaría si fuera un sistema el que llevará a cabo todas estas combinaciones por nosotros y diera, finalmente, con la mejor combinación? Precisamente para responder a esta herramienta se han creado los sistemas Auto ML. 

En mi opinión, un sistema o herramienta de Auto ML no tiene el objetivo de sustituir al científico de datos, pero sí de complementarlo, ayudando a éste a ahorrar mucho tiempo en el proceso iterativo de probar diferentes técnicas y datos para alcanzar el mejor modelo. De forma general, podríamos decir que un sistema de Auto ML tiene (o tendría que) aportar los siguientes beneficios al científico de datos:

  1. Sugerir las mejores técnicas de Machine Learning y generar automáticamente modelos optimizados (ajustando automáticamente los parámetros), habiendo probado una gran cantidad de conjuntos de datos de entrenamiento y test respectivamente. 

  1. Informar al científico de datos de aquellas características (recordar que son transformaciones de los datos originales) que tienen el mayor impacto en el resultado final del modelo. 

  1. Generar visualizaciones que permitan al científico de datos entender el resultado del proceso llevado a cabo por el Auto ML. Es decir, enseñar al usuario del Auto ML los indicadores clave del resultado del proceso.  

  1. Generar un entorno interactivo de simulación que permita a los usuarios explorar rápidamente el modelo para ver cómo funciona. 

Para terminar, mencionamos algunos de los sistemas y herramientas Auto ML más conocidos, como H2O.ai, Auto-SklearnTPOT.  Hay que destacar que estos tres sistemas cubren la totalidad del proceso de Machine Learning que veíamos al principio. Sin embargo, existen más soluciones y herramientas que cubren parcialmente alguno de los pasos del proceso completo. También existen artículos en los que se compara la eficacia de estos sistemas ante determinados problemas de machine learning sobre conjuntos de datos abiertos y accesibles. 

En conclusión, estas herramientas proporcionan soluciones valiosas a problemas comunes de ciencia de datos y tienen la capacidad de mejorar drásticamente la productividad de los equipos de ciencia de datos. Sin embargo, la ciencia de datos sigue teniendo un componente importante de arte y no todos los problemas se resuelven con herramientas de automatización. Animamos a todos los alquimistas de algoritmos y artesanos de datos a seguir dedicando tiempo y esfuerzo en el desarrollo de nuevas técnicas y algoritmos que nos permitan convertir datos en valor de forma rápida y efectiva.

 

El objetivo de este post es explicar al público general, de forma sencilla y asequible, cómo las técnicas de auto ML pueden simplificar el proceso de análisis avanzado de datos. En ocasiones puede recurrirse a simplificaciones excesivas con el fin de no complicar en exceso el contenido de este post.

 


Contenido elaborado por Alejandro Alija,experto en Transformación Digital e Innovación.

Los contenidos y los puntos de vista reflejados en esta publicación son responsabilidad exclusiva de su autor.