¿Qué es Data Science?
Data Science es un proceso en el cual se utilizan los datos para obtener información
valiosa.
Conoce a mayor detalle qué hacen las personas dedicadas a la Data Science.
Objetivos de Data Science
Los principales objetivos que la Data Science debe cumplir, son los siguientes:
Tomar decisiones
Crear estrategias de negocio
Producir software basados en Inteligencia Artificial
Proceso del Data Science
Las distintas actividades que se llevan a cabo en el proceso de Data Science se
pueden resumir de la siguiente manera:
1. Obtener datos (mediciones directas, encuestas y fuentes de internet)
2. Transformar o limpiar datos (dar formato correcto, eliminar o marcar errores y
espacios en blanco)
3. Explorar, analizar y visualizar datos (buscar, organizar y graficar información)
4. Usar modelos de Machine Learning (predecir información)
5. Escalar modelos de Machine Learning (poner los modelos a disposición de
los usuarios)
El proceso de Data Science dependerá en gran medida del proyecto o empresa en
la que se trabaje, pero algo general es que se basa en el método científico o
metodología para descubrir por qué las cosas pasan como pasan. Por lo que se
debe tener muy claro cuál es la pregunta y objetivo del caso de negocio. Ya que es
un ciclo, es decir que se repetirá constantemente.
Áreas de conocimientos en Data Science
Es una intersección de varios conocimientos en los que se encuentran:
Matemáticas y estadística
Ciencias computacionales
Conocimiento del dominio o sector del negocio
El nivel de profundidad de cada una de estas áreas se va a determinar de acuerdo
con el rol que quieras aprender. Sin embargo, algunas habilidades básicas para
todos los roles serían: programación, estadística descriptiva, probabilidad y
mantenerse actualizado sobre lo que pasa alrededor de la industria en que se
encuentra.
Construye tu camino profesional como Data Scientist
En conclusión, Data Science es un campo que se encarga de utilizar múltiples
herramientas para encontrar información valiosa, dentro de los datos, tanto del
presente, como del posible futuro.
Diferencia entre inteligencia artificial y Data Science
Inteligencia artificial (A.I. por sus siglas en inglés) se trata de enseñarles a las
máquinas a emular o imitar la inteligencia natural de los seres humanos.
Esto lo hacen por medio de algoritmos que modelan cómo aprendemos, tomamos
decisiones e identificamos patrones. Algunos ejemplos son: identificar gatitos o jugar
videojuegos.
Una de las grandes hazañas que ha podido lograr la inteligencia artificial fue
ganarles a campeones mundiales en Go, Ajedrez y League of Legends por nombrar
algunos. Por supuesto, no fue la misma máquina.
Además, una aclaración importante es que la inteligencia artificial está limitada de
cierto modo, porque no puede tener consciencia de sí misma y por ende no puede
tomar sus propias decisiones.
Machine Learning
Es una rama de la inteligencia artificial, que tiene como objetivo hacer que las
computadoras aprendan determinada habilidad.
Esto se hace por medio de pasarle muchos datos a un algoritmo, que
posteriormente nos va a arrojar un modelo, el cual podrá resolver problemas por
medio de predicciones que este haga o también implementarlo a un software para
solucionar determinadas situaciones.
Datos de entrenamiento
Son los datos utilizados para entrenar un algoritmo y obtener un modelo que pueda
hacer predicciones para resolver problemas e implementarse en un software para
un mejor rendimiento en el negocio.
Datos de entrada
Son los datos que se le dan al modelo obtenido luego de ser entrenado, que son del
mismo contexto que los de entrenamiento, pero con diferentes detalles. Para los
cuales va a generar predicciones que serán evaluadas para garantizar la eficacia del
modelo.
Utilidad del Machine Learning
Por ejemplo, si queremos saber cuándo tendremos una perdida masiva de clientes,
podríamos hacer un modelo que haga dicha predicción. Además, saber cuándo y
qué producto ofrecerles para no perder un cliente.
Por otra parte, si queremos saber si un paciente es propenso a una enfermedad
específica en el futuro, podemos hacer un modelo que realice una predicción para
detectar dicha enfermedad en las primeras etapas o prevenirla.
Conoce acerca del día a día de una Machine Learning Engeneer.
Proceso de integración de Machine Learning al producto
Hay equipos encargados de implementar modelos de Machine Learning al producto,
como, por ejemplo: el algoritmo de recomendaciones de Netflix o YouTube, quienes
por medio de los datos que el usuario crea al interactuar con la plataforma, predice
cuáles son los videos que más podrían interesarle.
Los pasos para la integración del Machine Learning al producto son:
1. Ingesta de datos
2. Validación de los datos
3. Preparación de datos
4. Entrenamiento de modelo
5. Evaluación de modelo
6. Validación de modelo
7. Despliegue de modelo
8. Interfaz de usuario
Diferencias entre Data Science e inteligencia artificial
Data Science es el proceso para analizar datos y generar predicciones valiosas para
la toma de decisiones y creación de productos.
La inteligencia artificial se refiere a los algoritmos que sirven para predecir eventos
en el futuro, imitando la inteligencia humana.
Relación entre Data Science e inteligencia artificial
En Data Science se utiliza como herramienta la inteligencia artificial para predecir el
futuro, por medio de modelos evaluados que hacen pronósticos, emulando cierta
habilidad del ser humano, al analizar grandes cantidades de datos.
Finalmente, podemos decir que la inteligencia artificial se refiere a las máquinas
emulando la cognición humana y su principal diferencia es que es una herramienta
que es utilizada en el proceso de Data Science para encontrar información valiosa.
Roles en la industria: cómo funcionan los equipos de datos e inteligencia
artificial
Dentro de la industria de Data Science existen varios roles diferenciados, pero
esto no siempre fue de esta forma. En el pasado las empresas usaban el término
Data Scientist para la persona que se encargaba de todas las tareas de datos en
general.
Con el tiempo se fueron creando nuevos términos para referirse a las personas
que se encargaban de ciertos procesos dentro del flujo o proceso de la Data.
Además, dentro de una compañía no se puede iniciar a implementar modelos de
Machine Learning en conjunto con el producto sin antes tener una cultura Data-
Driven para poderlo hacer.
De esta forma se origina la pirámide de las necesidades de Data Science.
Pirámide de necesidades de Data Science
La pirámide de necesidades de Data Science nos explica cuál es el orden de las
etapas que las empresas deben seguir para su desarrollo en la cultura Data-
Driven.
Esta nos define que dichas etapas tienen el siguiente orden:
1. Recolección de datos
o Instrumentación
o Logging (creación de cuentas de los usuarios)
o Sensores
o Datos externos
o Contenido generado por el usuario
2. Movimiento y Almacenamiento
o Datos confiables
o Flujo
o Infraestructura
Pipelines
o ETL (Extract, Transform, Load)
o Datos estructurados (es decir, que ya están organizados o clasificados
por alguna estructura estándar)
o Datos no estructurados (quiere decir que los datos están sueltos por
ahí)
3. Exploración y transformación
1. Limpieza.
2. Detección de anomalías
3. Preparación
4. Agregaciones y etiquetado
o Estadísticas
o Métricas (son como las medidas de una actividad en concreto)
o Segmentación
o Agregaciones
o Características
o Entrenamiento de datos
5. Aprendizaje y optimización
o Pruebas A/B
o Experimentación
o Algoritmos simples ML
o Inteligencia artificial
o Deep Learning
Roles en la industria Data Science
A las etapas anteriores se les añaden los roles que se van a encargar de hacer
las tareas y actividades correspondientes para que los datos sigan su curso.
Algunos de estos roles suelen tener un enfoque, ya sea con el negocio o con la
ingeniería.
Data Engineer
Es la persona encargada de construir y mantener todo el ambiente sobre el que
habitarán los datos. Por lo que se encuentra en la base de la pirámide y está más
enfocada en la ingeniería.
Data Scientist
Este rol se encarga de ejecutar los métodos necesarios e indicados para analizar la
etapa actual, como también hacer predicciones del futuro por medio de modelos
de Machine Learning, con el fin de encontrar información valiosa para crear
estrategias y productos que beneficien al consumidor.
Data Analyst
Se encarga de estar en una constante búsqueda de necesidades de información
que tengan las distintas áreas del negocio, para poder investigarlas y dar
respuesta que sea útil para la resolución de problemas y mejoramiento de procesos.
A diferencia del rol de Data Scientist, este solamente analiza el presente.
Research Scientist
Es un rol reciente en la industria, que trata sobre servir de traductor de los
diferentes hallazgos que se encuentren en el equipo de data, como también a la
hora de traducir las necesidades del negocio para el equipo de data.
Machine Learning Engineer
Se ocupa de evaluar y dar seguimiento a los modelos de Machine Learning
planteados, el rol de Data Scientist, como también de comunicarse con el equipo
de developers, para la correcta y eficiente implementación de los modelos y el
producto.
Developer
El rol se encuentra dentro de un equipo de ingeniería dedicado a desarrollar el
producto de la empresa.
Ya sea en el backend o en el frontend, debe hacer parte de la implementación de
los modelos de Machine Learning con el producto.
Ahora ya conoces la jerarquía de necesidades del mundo de data science
De esta manera, queda clara que los roles más importantes en la industria de la
Data son:
Data Engineer
Data Scientist
Data Analyst
Research Scientist
ML Engineer (Machine Learning Engineer)
Eso no quita que existan otros aún más especializados, que demanden las
empresas con alto desarrollo de la cultura Data-Driven.
¿Qué hace un Data Analyst?
El objetivo del Data Analyst es analizar información de valor para ayudar a resolver
las necesidades de cada una de las áreas de una organización. La diferencia con la
Data Scientist es que nada más se ocupa de analizar el presente.
Es uno de los roles ubicados en la mitad de la pirámide de necesidades de Data
Science, el cual aprenderemos a profundidad.
¿Cómo lo hace?
Este rol encuentra información de valor por medio de la extracción de datos de
diversas fuentes y su respectivo análisis, para poder presentarlos de forma sencilla
a las demás áreas de la empresa con tableros y gráficos.
Identificar necesidades de información
el Data Analyst debe estar en la búsqueda de necesidades de información de las
demás áreas de negocio para poder hacer una correcta formulación que se pueda
responder con datos.
Extraer datos de fuentes
Para trabajar con los datos primero es necesario saber dónde están y obtenerlos.
Estos por lo general se encontrarán en bases de datos, internet, redes sociales, etc.
Limpiar y organizar los datos
Los datos no van a venir organizados y listos para analizar. Antes se deben corregir,
eliminar o editar los errores, espacios en blanco, columnas repetidas, cambiar de
formato y demás características que ponga en peligro el buen análisis de los datos.
Analizar los datos
Por medio de la estadística descriptiva, herramientas matemáticas y tecnológicas
para filtrar, organizar, recopilar los datos de tal forma que permita identificar
patrones o estacionalidades que resulten valiosas para la toma de decisiones frente
al problema o pregunta formulada al principio.
Comunicar los hallazgos
Una vez encontrados los hallazgos, gracias a las exploraciones y análisis de datos,
es indispensable comunicarlos de forma sencilla y con la menor carga cognitiva
posible, para la inmediata toma de decisiones y creación de productos si es posible.
Ciclo de trabajo de una Data Anlayst
Muy de la mano con las actividades del día a día de una Data Analyst, existe una
estructura que se debe mantener e iterar, es decir, repetir varias veces hasta
obtener el resultado esperado. Las cuales son:
1. Pregunta o problema
2. Exploración y contraste de hipótesis
3. Recopilar información de valor
4. Crear visualizaciones de la información
5. Comunicar los hallazgos
Ejemplo
Eres un Data Analyst de un E-commerce de ropa y te piden la explicación de por
qué se cayeron las ventas el mes pasado. Debes entonces formular una posible
hipótesis.
1. Pregunta o problema -> Pregunta: ¿Por qué se cayeron las ventas el mes
pasado? Hipótesis: Probablemente, porque el tiempo de espera de la página
web fue demasiado y los usuarios se cansaron de esperar y se fueron.
2. Exploración y queries -> Queries: Extraer los datos del tiempo de espera de
la página web. Analizar: Cómo fue la tendencia en el tiempo.
3. Recopilar información de valor -> Insight: Resulta que encontramos que sí
hubo una subida en el tiempo de espera.
4. Crear visualizaciones de la información -> Mostrar un gráfico de tendencias
donde se pueda apreciar las ventas, el tiempo de espera y cómo fue
históricamente.
5. Comunicar los hallazgos -> Reunirse con las personas que hicieron la
consulta, para mostrarles y explicarles el gráfico que evidencia la posible
razón de la caída de las ventas el mes pasado.
Roles relacionados
Además de los roles más conocidos dentro de la industria de la Data, existen
algunos que se especializan aún más, siendo indispensables en estructuras mucho
más grandes y desarrolladas de compañías Data-Driven.
Business Analyst
Es una persona que tiene un conocimiento más profundo del negocio y está para
ayudar a la Data Analyst a identificar las preguntas o casos de negocio.
Data Visualization Specialist
Es la persona experta en como diseñar y construir tableros para presentar hallazgos
a las demás personas, de manera fácil y sencilla.
Conclusión
Al retomando las ideas anteriores, nos damos cuenta de que los procesos de una
Data Analyst van enfocados a resolver las preguntas del negocio de las distintas
áreas de mismo. Por medio del ciclo de trabajo anteriormente visto y actividades del
rol como:
Identificar necesidades de información
Extraer datos de fuentes
Limpiar y organizar los datos
Analizar los datos
Comunicar los hallazgos
¿Qué hace un Data Engineer?
el Data Engineer es el encargado de tomar los datos crudos, pero de valor, para
transformarlos, organizarlos y almacenarlos en las bases de datos, por medio de la
producción de pipelines ETL, que tienen como objetivo abastecer de materia prima o
datos a los demás roles, para que ejecuten su trabajo.
Día a día de una Data Engineer
Los procesos que más se repiten en el rol de una Data Engineer son los siguientes:
Desarrolla y mantiene pipelines de ETL y bases de datos, para transformar
los datos crudos
Extraer datos de diferentes fuentes, ya sean internas o externas. Lo
importante es que sean de valor para el negocio
Transformar los datos crudos para el análisis, ya que estos en su forma
original no se pueden analizar
Almacenar datos limpios en bases de datos especializadas para el análisis.
Debido a que las bases de datos usadas en producción suelen ser OLTP
(Online Transactional Processing) y si se hacen análisis en estas se pueden
romper. Por lo tanto, los datos se deben transportar a bases de datos OLAP
(Online Analytical Procesing)
Crear automatizaciones para que los datos estén constantemente
actualizados
Proceso ETL
Extract, Transform and Load o Extraer, Transformar y Cargar, es uno de los
procesos más utilizados para la transformación de los datos, es como el proceso de
tomar un diamante en bruto y convertirlo en uno procesado y listo para vender.
Extract o extracción
Importar datos de diversas fuentes, ya sea internas como externas, mientras sean
de valor para la organización. Estos pueden venir con distintas estructuras y
formatos.
Transform o transformación
Todos los datos ya recopilados deben de situarse en una estructura común y limpia
que facilite su análisis.
Load o carga
Luego de que los datos se encuentren limpios, estos deben almacenarse en bases
de datos OLAP que faciliten la consulta y análisis de los mismos.
Roles relacionados
Dentro del mundo de la Data hay ciertas variaciones en el rol de Data Engineer, que
se enfocan o especializan en ciertas actividades clave para el flujo de datos como,
por ejemplo:
Data Architect
Se encarga de plantear estrategias de datos dentro de la organización, mediante la
revisión de estándares de calidad, tratamiento de flujo de los datos y seguridad de
estos.
Big Data Architect
Trabaja con Big Data, las 5V’s de los datos.
Conclusión
A modo de cierre, diremos que una Data Engineer se encarga de saber dónde está
la información valiosa para el negocio, entender las herramientas con las cuales se
debe hacer el transporte de los datos y hacer las conexiones para abastecer de
información al resto del equipo de Data.
Herramientas y tecnologías para Data Engineers
Para triunfar como Data Engineer, debes conocer y saber utilizar las siguientes
herramientas:
Python y R
Linux
Bases de ingeniería de software
Bases de datos NoSQL y SQL.
Jupyter Notebooks y editores de código
Automatización y scripting
Librerías: Pandas, Dask y Apache Spark
Airflow
Tecnologías *cloud.
Docker.
Orquestadores Kubernetes
Matemática: estadística descriptiva
¿Cómo empezar el camino como Data Engineer?
Si quieres empezar con pie derecho tu camino hacia Data Engineer, no dudes en
seguir los siguientes pasos:
1. Aprender a programar en Python y bases sólidas de ingeniería de software
2. Saber cómo automatizar procesos
3. Entender y aplicar librerías como: Pandas y Apache Spark
4. Conocer bases de datos SQL y NoSQL
La experiencia de un Data Engineer: entrevista a Alexis Araujo
Para aprender acerca de las actividades de un Data Engineer, qué mejor idea que
preguntarle a uno. En este caso nuestro invitado es Alexis Araujo, integrante del
equipo de Data De Platzi.
¿Cómo conociste el mundo de la Data y como supiste que este rol era para
ti?
Lo conocí en mi primer trabajo, cuando me encargaron extraer datos y conectar
diferentes fuentes con las bases de datos. Supe que este rol era para mí, por qué
me gustan las bases de datos y todo lo relacionado con ellas.
¿Cuándo sabe una empresa que necesita un Data Engineer?
Cuando la empresa tiene métricas y sabe para qué las va a utilizar es cuando se va
a requerir el rol de Data Engineer., ya que son los que crean los puentes para poder
traer los datos de distintas fuentes a la empresa.
¿Cuáles son las actividades del día a día de un Data Engineer?
Las actividades más habituales para este rol son:
Saber a qué fuentes se van a conectar
Hacer conexiones con las fuentes de datos
Conocer las aplicaciones desde las que se conectan
Modelos de datos dentro de cada aplicación
Documentación de la API
Conoce más acerca de qué hace un Data Engineer.
¿Cómo influye el tamaño del proyecto en el flujo de trabajo?
Independientemente del tamaño, lo importante es dar informes constantes de la
información de valor sobre los datos, lo más rápido posible. Por lo que la extracción
de datos y ponerla al alcance del equipo de Data lo más rápido que se pueda es
prioritario.
¿Cómo se relaciona un Data Engineer con los demás roles del equipo?
Este rol se debe relacionar mucho con los demás miembros del equipo para saber
qué información es necesaria, de dónde se va a conseguir y cómo se va a realizar la
conexión.
¿Qué es lo que más te gusta y el mayor reto en tu carrera como Data
Engineer?
Lo que más me gusta de ser Date Engineer es que puedo aprender acerca de varias
tecnologías y bases de datos. El mayor reto dentro de mi carrera ha sido manejar
Big Data y API’s a las que no sabía cómo conectarme.
Conclusión
Además de tener una comunicación excelente con el equipo, un Data Engineer debe
estar abierto al aprendizaje de todo tipo de herramientas que permita hacer las
conexiones adecuadas. Las herramientas pueden cambiar de sector en sector o de
donde se quiera extraer la información.
Aunque muchas veces pasan desapercibidas, las habilidades blandas son muy
importantes para un correcto desempeño en el mundo de la Data. Algunas de estas
son:
Storytelling
Inglés
Pensamiento crítico
Creatividad
Hacer que las cosas pasen
Asumir responsabilidad de los proyectos que se te encarguen
Trabajo en equipo tanto con los miembros de Data, como con los demás
miembros de las áreas del negocio
Curiosidad