El ciclo de vida de la ciencia de datos
27 junio 2020En este post voy a tratar un tema del que no se suele hablar tanto como de los algoritmos, pero que es muy importante en el desarrollo de un proyecto de ciencia de datos o de big data. Este tema es el ciclo de vida de los proyectos. Creo que no sólo es necesario conocer de algoritmos, sino que también es muy necesario tener una visión holística de los proyectos y, en ese cometido es donde se encuentra el ciclo de vida. El ciclo de vida de cualquier proyecto de desarrollo de software (y sí, la ciencia de datos es desarrollo de software, aplicado a negocio, pero desarrollo de software) describe los pasos o etapas que son necesarias para desarrollar y productivizar correctamente un caso de uso.
A continuación comento el ciclo de vida que he seguido siempre en cada una de las empresas por las que he pasado y suele encajar en la mayoría de proyectos. Muchas personas agrupan varias fases en una sola, otras las separan, etc. En relación al ciclo de vida, existen proyectos de ciencia de datos que no tienen por qué tener alguna de las etapas, pero esto al fin y al cabo es una agrupación personal que coincide con el de mucha gente pero con el de otra no.
Entendimiento del problema y del negocio
Lo primero de todo cuando se plantea un problema es conocer cúal es el problema y cómo resolverlo. La ciencia de datos no va de algoritmos, ni de tecnologías, va de resolver problemas. Existen casos de uso en los que si ya se tiene conocimiento de negocio, esta fase puede ser muy rápida, pero en otros nos puede parecer necesario investigar bastante sobre la problemática.
Localización y análisis de la información
La segunda etapa sería la de localizar y conocer los datos con los que se tratará el problema. Es necesario saber dónde están los datos, el significado de los mismos, cómo extraerlos y el volumen aproximado. Los orígenes pueden ser muy variados, provenir internamente de la organización, de fuentes de datos públicas o incluso de proveedores de información externa. Cómo extraerlos también va a influir en una productivización posterior, no es lo mismo que tengamos que acceder a ellos vía API a que se almacenen on-premise en nuestra empresa.
Preprocesamiento y calidad de los datos
El siguiente paso es el del preprocesamiento y el análisis de los datos. Uno de los conceptos más importantes es el de Quality Assurance, es decir, el conocimiento de los datos desde el punto de vista técnico (formatos, valores faltantes, disponibilidad, etc). Por otro lado, es necesaria una validación de los datos para que tratemos con información de calidad. Existe una frase muy conocida en el sector que es «garbage in, garbage out». Es decir, si los datos son malos, las salidas son malas.
Modelización
Aquí incluyo varias etapas. Una sería el análisis exploratorio, otra la ingeniería de variables, otra el entrenamiento y por último la validación. Las incluyo todas en la misma etapa ya que este punto suele ser iterativo y un cambio en la generación de una variable impacta al entrenamiento y validación. Igual ocurre con un cambio en una variable independiente. Supón que en el análisis exploratorio hemos visto que una variable no tiene sentido de negocio, se elimina y es necesario ejecutar las cuatro etapas.
En esta etapa es donde hacemos el modelo de aprendizaje automático y comprobamos que funciona correctamente al validarlo. A la parte de la modelización se le suele dar mucho peso en las empresas, que luego en la práctica es sólo una parte de la foto. Generalmente, el data scientist (al menos en la mayoría de proyectos en España) suele pasar bastante más tiempo en el resto de fases que en esta fase. Es un poco lo que ocurre en el fútbol… el delantero de turno mete goles y es lo característico y llamativo de los delanteros. Sin embargo, un gol se mete en segundos y el partido son 90 minutos. Esto es algo similar, el gol del data scientist es la modelización. Continúamos…
Despliegue
En este punto ya tenemos un modelo realizado correctamente en el punto anterior y aquí se despliega. Es decir, se pone a ejecutar automáticamente. Una etapa posterior es la de la monitorización de este modelo desplegado. Cuando en la monitorización algo falla, es necesario revisar el modelo y volver a la anterior etapa, o incluso a etapas previas.
Todo este proceso es muy a alto nivel, pudiéndonos explayar muchísimo en cada una de las etapas. Sin embargo, creo que es interesante tener una primera foto general de todo esto.
Espero que os sea útil este post para ver que un proyecto de ciencia de datos es mucho más que la modelización. Es mucho más que aplicar un algoritmo de aprendizaje automático. El que sea un genio sólo en algoritmos se pierde gran parte de la foto. Se encuentra viendo la realidad en una foto en 2D.
Nos vemos en próximos posts! ¿Tienes alguna sugerencia u opinión sobre el ciclo de vida? Déjanos un comentario! 🙂
Si te ha gustado este artículo puedes suscribirte en la barra lateral y te llegarán los nuevos artículos por email! También nos podéis seguir por redes sociales!
Si te ha sido de utilidad este post, te agradecería que me apoyases en Patreon (donando una cantidad aunque sea poca ya sea una vez, o apoyándome mensualmente). Tener una web, dominio, hosting, no es gratis y me apoyas a seguir ayudando con la difusión de educación libre. Apóyame en Patreon! Mil gracias!!
¿Te ha parecido útil este artículo?