Proyecto de Ciencia de Datos: 7 aspectos clave que debes tener en cuenta

31/08/2021

Las organizaciones son cada vez más conscientes del valor de sus datos, de ahí el creciente empeño en generar datos de calidad, almacenarlos y tratarlos de manera adecuada. Esta mayor conciencia también ha producido una tendencia imparable de combinar los datos propios con datos externos con el objetivo de enriquecerlos y poder así obtener los ansiados “insights” en proyectos en los que se aplica Inteligencia Artificial o al menos analítica avanzada.

Con permiso de los avances llevados a cabo por las herramientas low-code / no-code y los avances en el Auto ML, todos estamos de acuerdo en que un proyecto de IA es un proyecto de desarrollo de software. Sin embargo, la realidad es que a la hora de abordar proyectos de ciencia de datos, no son aplicables las etapas ni las metodologías empleadas en los proyectos de software tradicionales. Las particularidades de estos proyectos hacen que se tengan que abordar de una forma específica. Veamos los 7 aspectos clave que debes tener en cuenta a la hora de abordar un proyecto de Ciencia de Datos.

 

¿Qué se debe tener en cuenta a la hora de realizar un proyecto de Ciencia de Datos?

1. Obtención del tablón desnormalizado

Las etapas iniciales del proyecto deben cuidar lo que cualquier proyecto de software (partir de una buena idea, caracterizar bien el proyecto en cuanto a alcance, recursos técnicos/humanos/económicos, plazos, etc), más otras tareas específicas destinadas a contar con la mejor materia prima para el análisis posterior:

  • Identificación de las fuentes de datos disponibles (tanto internas como externas)
  • Selección de las relevantes para nuestro análisis
  • Si va a ser necesario anonimizar o no
  • Extracción de una muestra y estudio preliminar de los datos
  • Si estos llegan por extracción o mediante un flujo continuo
  • Extracción del dataset
  • Comprensión de los datos
  • Unión de los distintos subsets para obtener un tablón único desnormalizado con el que avanzar al preprocesado

2. La arquitectura

La explosión de servicios en la nube ha permitido poner al alcance de todos las arquitecturas necesarias para llevar a cabo proyectos de AI. Estas arquitecturas se pueden crear de manera ad-hoc, únicamente para el proyecto que vayamos a acometer.

Atrás quedaron los tiempos de las distribuciones de Hadoop on premise, complejas y costosas de mantener, y con menor flexibilidad a nuevos proyectos y experimentos que las arquitecturas que pueden diseñarse, levantarse en la nube en pocos minutos, y volverlas a tumbar mientras no vuelvan a ser necesarias.

Esta flexibilidad de las principales nubes públicas, junto con el hecho de necesitar un menor tunning por parte de un arquitecto big data / data engineer, hacen que las arquitecturas se puedan considerar efímeras para un determinado proyecto, y sólo cuando éste dé resultados, convertir dicha arquitectura en permanente. Además, la arquitectura no tiene por qué desplegarse completamente al inicio del proyecto, sino que se puede desplegar por partes, activando el elemento que va a necesitarse para la siguiente etapa del proceso de análisis, y seguramente desactivarse el anterior.

3. El preprocesado

El preprocesado es otra de las actividades vitales y específicas de nuestros proyectos de analítica avanzada. Consiste en transformar el tablón desnormalizado que hemos obtenido, con el objetivo de poder generar uno o varios conjuntos de datos, cada uno de ellos preparado para contestar a una pregunta específica sobre esos datos, lo que constituye en sí el objeto del análisis.

  • Dentro de esta etapa tendremos que llevar a cabo al menos algunas de estas acciones:
  • Adecuar el número de variables eliminando las superfluas
  • Transformar variables categóricas
  • Crear nuevas variables combinaciones de las existentes
  • Eliminar registros duplicados
  • Tratar valores nulos e incoherencias
  • Eliminar falsos predictores
  • Tratar outliers Normalizar variable

4. La etapa analítica

En esta etapa deberemos decidir qué tipo o tipos de modelos de aprendizaje automático debemos aplicar, y esto depende directamente de la naturaleza del análisis, o dicho de otra manera, depende de las preguntas específicas a las que pretendemos nos den respuesta nuestros datasets.

No debemos olvidar que un modelo de Machine Learning es un software que contiene los algoritmos capaces de aprender a partir de los datos, proporcionar respuestas inteligentes a las preguntas sobre los datos, y mejorar su precisión con el tiempo.

En la etapa analítica las cuestiones clave son: seleccionar los algoritmos adecuados y crear los modelos, entrenarlos (sin sobree entrenarlos) y validarlos, y por último testearlos con nuevos datos reales que no formaron parte del dataset de partida (y que debemos someter a las mismas transformaciones).

Si alguno de los modelos es capaz de describir, predecir o prescribir de manera no obvia, estamos de enhorabuena: hemos obtenido un insight.

5. La visualización y evaluación de resultados

Esta etapa, también fundamental, es clave para inspirar una toma de decisiones guiada por los datos. Prácticamente todos los modelos de ML empleados en la actualidad pertenecen a la Inteligencia Artificial Subsimbólica, por tanto ni tenemos una representación específica de cómo contestar a la pregunta que hacemos a los datos, ni el resultado es fácil de explicar.

Dicho de otra manera, es difícil explicar cómo un modelo obtiene un determinado resultado, aunque a veces se pueden aplicar otros modelos como los árboles de decisión para apoyar la explicación.

La visualización y una buena exposición de los resultados es por tanto clave para decidir la puesta en producción de un modelo.

6. Proceso iterativo

Existen muchos pequeños detalles que pueden hacer que el resultado del proyecto no sea el esperado. Cada paso se apoya en el anterior, por tanto se deben llevar a cabo con el máximo rigor. Todas aquellas decisiones necesarias durante el proceso deben documentarse, de manera que faciliten un reintento posterior de obtener los insights variando algún paso intermedio.

En este sentido, acometer un proyecto de analítica avanzada se asemeja a la construcción artesanal de un instrumento de precisión, como la relojería suiza o forjar una catana: un paso en falso en el proceso redunda en un producto final cuyos resultados no superan la prueba del algodón.

7. La puesta en producción

La puesta en producción es un aspecto clave en todos los proyectos de software, pero en los casos de proyectos de analítica avanzada lo es además porque en un amplio número de casos debe integrarse la nueva AI con sistemas ya en producción que forman parte del core de negocio de la compañía, y hemos de tener en cuenta cómo debe producirse esta integración: Dónde está operando cada sistema, con qué tecnologías, y qué opciones de comunicación entre sistemas tenemos para integrarlos.

En este punto debemos explorar alternativas de arquitecturas basadas en orquestación y eventos, que están viviendo una explosión paralela a la de los servicios en la nube. Las APIS, los microservicios y los contenedores nos pueden ayudar a que la IA se integre en nuestros sistemas en producción.

 

Conclusiones

A modo de conclusión debemos destacar la importancia de perseverar si el insight no aparece a la primera en nuestro proyecto de Data Science. No es un Expediente X, sino que muchas veces está más cerca de lo que pensamos, y debemos insistir en su búsqueda.

Revisemos aquellas decisiones que hemos ido tomando, desde incluso la selección de las fuentes, hasta la optimización de los hiper parámetros del modelo. Probablemente, en alguno de los cruces del camino que hemos recorrido estaba la dirección de la senda correcta. Por tanto, reflexionemos en qué paso o pasos podemos actuar para mejorar el output de nuestros modelos. El insight, como la verdad, está ahí fuera.