Investigación exclusiva: ¿Cómo es el día a día de un Científico de Datos?
Muchos sueñan con el trabajo de Científico de Datos, sin entender completamente las misiones asignadas a este puesto.
¿Qué hace concretamente un Científico de Datos? ¿Cómo organiza su jornada este maestro de los datos?
Para desentrañar este misterio hemos seguido durante todo un día a Daniel, Científico de Datos desde hace 3 años en datascientest.com.
En el centro de la acción: Vive este día en vídeo
9h - 10h: Pistoletazo de salida
Es el inicio de un día que se anticipa estimulante, Daniel tiene una cita con el equipo de «Data Science» para establecer el objetivo del día. El desafío actual del equipo: crear una IA capaz de predecir las fluctuaciones de un índice bursátil.
Así que hoy nos sumergiremos en la rutina diaria de Daniel a través de este fascinante tema que es el Machine Learning aplicado a las finanzas.
En un primer momento, Daniel quiere asegurarse de comprender bien el objetivo porque nuestro experimentado Científico de Datos sabe que: el éxito del proyecto depende fundamentalmente de la comprensión de todos los parámetros a considerar, apresurarse podría garantizar un fracaso…
Después de muchas horas de intercambio con sus colegas, Daniel se siente finalmente listo, tiene todas las herramientas necesarias para empezar este ambicioso proyecto. ¡Que comience el trabajo!
10h - 11h: Comprensión de la problemática empresarial
Tras haberse hecho una primera idea de la viabilidad del proyecto, Daniel piensa implementar una aplicación fácil de usar que permitirá a cualquier usuario, experimentado o no, operar en bolsa con el asesoramiento de la IA.
Daniel dedica tiempo previamente a familiarizarse con las nociones y principios del sector en el que deberá desarrollar un modelo: en este caso, el sector financiero. Realmente parece imposible para un Científico de Datos analizar resultados sin comprender su significado. Luego, identifica progresivamente los distintos pasos a seguir. Efectivamente, el Científico de Datos debe ser paciente para proporcionar a los futuros usuarios de su IA una cualidad indispensable y escasa, la fiabilidad.
11h - 12h: Recolección y análisis de datos
El primer paso de este largo viaje es la recolección del Data Set: conjunto de datos. Son todos los datos que el Científico de Datos proveerá a un modelo algorítmico para obtener una predicción.
Este Data Set generalmente se divide en 2 partes claramente diferenciadas:
- 70% constituyen el conjunto de entrenamiento (train set) y servirán para «aprender» los parámetros del modelo.
- 30% forman el conjunto de prueba (test set) y se usarán para comprobar el rendimiento de los parámetros aprendidos en el train set.
No obstante, en la mayoría de los casos, Daniel no se preocupa de la recolección de datos. El equipo de datascientest.com los proporciona utilizando diversas técnicas como el web scraping, que permite la extracción de datos de un sitio web a través de un programa, un software automático o por medio de otro sitio web.
12h - 13h: Preparación de datos: comprensión, análisis y limpieza
Una vez que tiene los datos, Daniel se toma el tiempo para entenderlos y analizarlos. Lamentablemente, se da cuenta de que los datos no son inmediatamente utilizables. Sin preocupaciones…
Por lo general, los datos iniciales rara vez son utilizables sin una limpieza previa. Una de las tareas más importantes del Científico de Datos es precisamente lo que se conoce como limpieza de datos (Data Cleaning).
Por ejemplo, es común que los datos contengan varias filas duplicadas o incluso vacías (gestión de NaN). Sin embargo, lenguajes de programación como Python o R permiten abordar eficientemente estos tipos de problemas relacionados con la limpieza de datos.
Completada esta etapa, Daniel realiza un análisis visual, también con Python, para entender mejor el Data Set. Para ello, debe dominar bibliotecas como Matplotlib o Seaborn, que son muy fáciles de usar.
Este paso de visualización es crucial porque permite a Daniel apoderarse de los datos y, sobre todo, asegurarse de su fiabilidad. De hecho, el Científico de Datos siempre debe ser cauteloso con los datos que maneja para saber descartar aquellos que considere inútiles o anómalos.
13h - 14h: Descanso
Daniel se une a sus colegas en el área común asignada para ello. Sin embargo, no se desconecta por completo de su nuevo proyecto, que le apasiona, y consulta a sus colegas sobre sus primeras observaciones. Consulta sus puntos de vista para posiblemente considerar el problema desde una nueva perspectiva.
14h - 16h30: Exploración de datos y modelado
Con los datos ya limpios y listos para ser usados, comienza el trabajo de exploración de datos.
Su objetivo es identificar las variables explicativas (o características) más relevantes para la predicción de las variaciones de un índice bursátil y en consecuencia eliminar aquellas que serán inútiles y/o redundantes mediante un análisis de correlaciones o una reducción de dimensiones a través de un PCA (análisis de componentes principales), por ejemplo.
De hecho, cuanto más Daniel pueda identificar las variables más relevantes, más rápido y eficiente será su algoritmo.
Una vez realizada esta identificación, Daniel ahora usará un algoritmo de Aprendizaje Automático capaz de decidir automáticamente sobre la subida o bajada de un índice bursátil. Generalmente, Daniel no empieza desde cero, ya existen algoritmos eficientes pre-codificados que se pueden encontrar en módulos como Scikit Learn de Python.
Sin embargo, la existencia de estos algoritmos no significa que el trabajo de Daniel termine aquí, ¡ni mucho menos!
Daniel debe elegir entre cientos de algoritmos disponibles, el que mejor se adapte al problema. Incluso cuando se ha elegido el algoritmo, queda por definir las decenas de parámetros óptimos para que la predicción sea lo más efectiva posible.
La cuestión del seleccionar los parámetros es precisamente un paso esencial y depende en particular del tipo de datos disponibles (textos, tablas, imágenes, datos vocales, etc.), su balance o desequilibrio (soluciones: sobre/submuestreo, cambio adecuado de la función de pérdida, etc.) o su volumen (gestión del riesgo de sobreajuste o subajuste).
Debido al gran volumen de datos y la complejidad del problema, Daniel ha optado por usar una red neuronal convolucional, pero no hay que preocuparse, si los resultados no son convincentes, Daniel no dudará en cambiar de estrategia.
16h30 - 18h: Evaluación – Prueba
Después de implementar el modelo, llega el momento de la verdad: ¿será eficaz su algoritmo? ¿Logrará un puntaje de predicción en el conjunto de prueba a la altura? Daniel piensa que tiene un primer resultado prometedor. «Un 60% no está nada mal, pero podemos y haremos más». comenta de manera entusiasta. Sabe que el potencial de su algoritmo puede atraer a un amplio espectro de clientes profesionales.
18h: Fin del día
Daniel ha terminado su jornada por hoy. Mañana por la mañana, intentará mejorar el rendimiento de su algoritmo predictivo. Para ello, ya tiene una idea: añadir a sus datos un análisis de tweets relacionados con el mundo financiero (técnicas de minería de texto), lo cual, según él, permitirá enriquecer el Data Set inicial y establecer nuevas tendencias. También planea para el día siguiente ocuparse de la implementación, es decir, de la puesta en producción del modelo junto con el Ingeniero de Datos del equipo.
Después de pasar un día completo con Daniel, podemos ver que un Científico de Datos debe poseer habilidades técnicas y humanas sólidas. Además de competencias claras en estadística, programación y Aprendizaje Automático, esta profesión requiere no solo un espíritu de equipo impecable, sino también intuición.
La intuición no sólo de identificar rápidamente cómo abordar un problema, sino más bien la intuición de determinar el modelo y los parámetros más adecuados. Lo cierto es que convertirse en Científico de Datos no es algo que se improvise.
Por esta razón, hemos creado un curso de Científico de Datos con lanzamientos de formaciones cada mes en formatos Bootcamp o continuos.