Introducción a la Ciencia de Datos
Los datos son como piezas de un rompecabezas caótico que representan diversos aspectos del mundo que nos rodea, pueden ser procesos, ventas, elementos organizacionales, planillas, o todo lo anterior en conjunto. Ahora bien, al utilizar técnicas matemáticas y estadísticas, los profesionales en Ciencia de Datos pueden recolectar estas piezas, organizarlas y ensamblarlas para obtener una imagen clara y coherente. Es mediante este proceso que se pueden descubrir patrones ocultos, tendencias, correlaciones y relaciones causales, lo que proporciona información valiosa y fundamentada (insights) para la toma de decisiones informadas.
Ahora bien, todo suena de maravilla, pero realmente el concepto o definición de Ciencia de Datos se refiera al proceso o área profesional que se enfoca en la recolección, procesamiento y análisis de datos para obtener conocimiento valioso y tomar decisiones informadas. Es decir, el resultado que buscamos al final de este proceso es tomar decisiones y crear estrategias de negocio. Además, la ciencia de datos no se limita únicamente a generar insights, o información de valor, ya que otro resultado paralelo a este es la creación de productos de software más inteligentes y funcionales.
¿Y cómo se logra esto? Pues justamente eso es lo que vamos a abordar en este blog.
Fundamentos de la Ciencia de Datos
Proceso de la Ciencia de Datos
La ciencia de Datos no podría proclamarse ciencia sin utilizar el método científico, ya que en su proceso el paso más importante es siempre tener clara la pregunta o caso de negocio. Tener una pregunta o caso de negocio claramente definidos guía al científico de datos para enfocarse en aspectos específicos y relevantes del análisis. Sin una pregunta o caso de negocio bien definidos, existe el riesgo de perderse en la gran cantidad de datos disponibles y de realizar análisis sin una finalidad concreta, lo que podría llevar a conclusiones inútiles e incluso sesgadas o erróneas.
Ahora bien, este proceso dependiendo de las necesidades de la empresa podrá verse como un ciclo, puesto que se estará constantemente haciendo iteraciones del proceso.
El proceso de la Ciencia de Datos consta de varias etapas interconectadas. Comienza con la recolección de datos, ya sea desde fuentes externas o mediante la generación de datos internos. Una vez recopilados, es crucial limpiar y preparar los datos, ya que estos pueden contener errores, valores faltantes o duplicados que afectarían la calidad del análisis. Luego, entra en juego el análisis exploratorio de datos (EDA), donde se visualizan los datos y se utilizan herramientas estadísticas para identificar patrones y relaciones. Con una comprensión sólida de los datos, se procede a aplicar técnicas de Machine Learning, que permiten a los modelos aprender de los datos y realizar tareas específicas, como clasificación, regresión o agrupamiento. La ciencia de datos, además, es una intersección de conocimientos entre las ciencias computacionales, la matemática, la estadística y el conocimiento del negocio.
Manipulación y Preprocesamiento de Datos
Extracción, Limpieza y Transformación de Datos
La calidad de los resultados en Ciencia de Datos depende en gran medida de la calidad de los datos iniciales. La extracción de datos implica recopilar información de diversas fuentes, que pueden ser estructuradas o no estructuradas, estos pueden venir de fuentes como:
- Bases de Datos: Si los datos se encuentran en una base de datos, se puede hacer uso de lenguajes de consulta como SQL para extraer datos específicos de tablas y vistas.
- Archivos Locales: Si los datos están almacenados en archivos locales, como archivos CSV, Excel, JSON o XML, se pueden utilizar bibliotecas y herramientas de programación en lenguajes como Python o R para cargar y leer estos archivos, o usar apps como Tableu o Power BI para crear análisis directamente de estos archivos.
- APIs Web: Para extraer datos de servicios web, se puede hacer uso de APIs (Application Programming Interfaces). Las APIs proporcionan endpoints a los que se envian solicitudes y se reciben datos en formato JSON, XML u otros. En Python se pueden utilizar bibliotecas como requests para realizar solicitudes a APIs.
- Conexión en Tiempo Real: En algunos casos, para las organizaciones es necesario obtener datos en tiempo real. Esto puede implicar la configuración de conexiones en tiempo real con sistemas para recopilar y analizar datos en tiempo real. Por ejemplo una conexión con un sistema como SAP.
- Plataformas Cloud: Plataformas en la nube como Amazon Web Services (AWS), Google Cloud Platform (GCP) y Microsoft Azure ofrecen servicios para almacenar y acceder a datos. Por lo que es posible utilizar estos servicios para gestionar la extracción y almacenamiento de datos.
Ahora bien, indiferentemente de la fuente de datos, para un proceso de ciencia de datos, la extracción de la información es indispensable. Esta acción es incluso para de un enfoque sistemático utilizado en la gestión de datos: el proceso ETL (Extract, Transform, Load) el cual se encarga de mover datos desde múltiples fuentes (las cuales ya hemos repasado), los transformar en un formato adecuado y finalmente se encarga de cargar los datos en un destino, como una base de datos, un almacén de datos o un sistema de análisis. El objetivo principal del proceso ETL es asegurarse de que los datos sean coherentes, limpios, completos y listos para su análisis.
Entonces, ¿qué sigue luego de extraer los datos? Pues bien, como ya mencionamos, en el proceso de ciencia de datos es común que los datos vengan de diversas fuentes y por lo que puede suceder que los datos estén en diferentes formatos y niveles de calidad. Es ahí donde la limpieza de datos o data cleansing entra en juego, ya que esta es crucial para eliminar ruido, valores atípicos y datos incompletos, lo que asegura que los resultados sean confiables y precisos.
Incluso si los datos provienen de una misma fuente es indispensable preparar los datos antes de comenzar el proceso de análisis.
La limpieza de datos implica diversas tareas, como:
- Identificación de Valores Atípicos: Esta tarea se encarga de identificar valores que se desvían significativamente de la norma y que podrían ser errores o información incorrecta.
- Manejo de Datos Faltantes: Decidir cómo manejar los campos con valores faltantes, que podría involucrar la imputación de valores o la eliminación de registros incompletos.
- Eliminación de Duplicados: Identificar y eliminar registros duplicados que podrían distorsionar o sesgar los resultados.
- Normalización y Estandarización: Asegurarse de que los datos estén en un formato coherente y uniforme, por ejemplo convertir todas las fechas al mismo formato.
- Validación de Datos: Verificar que los datos cumplan con ciertas reglas o restricciones, como rangos de valores válidos.
- Corrección de Errores de Entrada: Identificar y corregir errores tipográficos y de entrada que puedan haber ocurrido al capturar los datos.
- Eliminación de «Ruido»: Eliminar información irrelevante o incoherente que pueda dificultar un análisis preciso.
Una vez que los datos han sido limpiados o transformados, están listos para ser cargados en una ubicación de destino, en el caso del proceso de ciencia de datos, este destino comúnmente será una herramienta de análisis, no obstante, puede que antes de esto los datos sean cargados en una base de datos y luego se realice una conexión con la herramienta de análisis. Es importante recordar que como este proceso de ciencia de datos es un ciclo, la carga de los datos puede ser incremental (solo cargando nuevos datos) o completa (cargando todos los datos).
Análisis Exploratorio de Datos (EDA)
Según IBM el principal objetivo del EDA es consultar los datos antes de hacer cualquier suposición. Permite identificar errores obvios, así como comprender mejor los patrones en los datos, detectar valores atípicos o sucesos anómalos y encontrar relaciones interesantes entre las variables.
Este análisis es utilizado por los científicos de datos para analizar e investigar conjuntos de datos y resumir sus principales características, para esto se emplean métodos como:
- Visualización de Datos: La visualización de datos juega un papel fundamental en la comprensión de los patrones y tendencias ocultos en los datos. Los gráficos y diagramas permiten identificar relaciones, distribuciones y anomalías de manera efectiva.
- Análisis Estadístico Descriptivo: Este análisis ofrece una comprensión cuantitativa de los datos a través de medidas estadísticas como la media, la mediana y la desviación estándar. Estas métricas proporcionan información sobre la distribución y la variabilidad de los datos, lo que es de suma importancia al momento de tomar decisiones basadas en datos.
- Patrones y Tendencias: En el Análisis Exploratorio de Datos, además, se busca descubrir patrones y tendencias clave en los datos con el fin de generar un valor más integral y útil. La identificación de relaciones entre variables y la detección de patrones ocultos pueden dar lugar a nuevas y mejores hipótesis que luego, mediante los datos, puedan ser respaldadas.
Existen herramientas como Power BI o Tableau, en donde el Análisis Exploratorio de Datos (EDA) se logra mediante la creación de visualizaciones interactivas y paneles de control, lo que se conoce generalmente como Dashboards. En estos programas, los datos se importan y se conectan para luego construir gráficos como gráficos de barras, histogramas, gráficos de dispersión, y diagramas de cajas lo que ayuda, de forma gráfica a revelar patrones, distribuciones y valores atípicos. Algo muy útil en estas herramientas es que se pueden agregar filtros y segmentaciones para explorar los datos desde diferentes perspectivas.
Roles en la industria
Una vez comprendido el proceso a un alto nivel, es importante enfocarse en los roles dentro de esta industria, ya que en cada parte de proceso de Ciencia de Datos, se van a ir involucrando diferentes perfiles profesionales que se encargan de aspectos específicos de este sector.
- Data Engineer: Se encarga de la ingesta, validación y preparación de datos. Estos profesionales diseñan y mantienen infraestructuras de datos, pipelines de ETL (Extract, Transform, Load) y sistemas de almacenamiento. Su trabajo es asegurarse de que los datos estén disponibles, limpios y listos para ser utilizados por otros profesionales de la ciencia de datos.
- Data Scientist: Se encarga del entrenamiento, evaluación y validación de modelos. Este es un rol profesional multidisciplinario que posee conocimientos en programación, matemáticas, estadísticas y conocimientos del negocio. Su rol implica la recopilación, limpieza y preparación de datos, la exploración de datos para identificar patrones y tendencias, la construcción y evaluación de modelos de Aprendizaje Automático, y la comunicación de resultados a partes interesadas.
- Data Analyst: En la parte del negocio toma el dato de las bases de datos preparadas por los Data Engineer y los analiza para encontrar información de valor. Los profesionales que cubren este rol se enfocan en explorar y analizar datos para responder preguntas de negocio específicas o resolver problemas concretos. Utilizan herramientas de visualización y análisis para generar informes y presentaciones que ayudan a las empresas a tomar decisiones informadas.
- Machine Learning Engineer: Se encarga de poner a funcionar productos de Machine Learning. Trabaja muy de la mano con Data Scientist en la evaluación y validación de modelos para luego ponerlos en producción, y hacer los despliegues como tal de los modelos. Su trabajo incluye la selección y ajuste de algoritmos, la optimización de hiperparámetros y la implementación de modelos en entornos en tiempo real.
¿Machine Learning? El proceso de ciencia de datos no acaba con la creación de Dashboards, la ciencia de datos da paso a otras grandes áreas relacionadas estrechamente con datos como Machine Learning, Process Science y por ende el Process Mining.
Aprendizaje Automático (Machine Learning)
Si bien el Machine Learning es una «categoría» o subrama de la Inteligencia Artificial, su conexión con la Ciencia de Datos es muy fuerte, ya que esta implica la construcción de modelos que pueden aprender de los datos y realizar tareas sin ser programados explícitamente, en pocas palabras no puede existir sin datos. Y es que inclusive, los modelos de Machine Learning mejoran su rendimiento a medida que se exponen a más datos.
Un modelo, en el contexto de Machine Learning, es una función matemática que simplifica la complejidad del mundo real y se ajusta a los datos para hacer predicciones sobre nuevos datos.
Aplicaciones Prácticas en Ciencia de Datos
El Machine Learning se utiliza en una amplia variedad de aplicaciones, desde la recomendación de productos en plataformas de comercio electrónico, detección de spam en los emails, hasta aplicativos basados en Procesamiento de Lenguaje Natural (NLP), pero yendo a mayor escala, Los productos de Machine Learning también se aplican en diagnósticos médicos, pronósticos financieros y análisis de redes sociales. Para esto, necesita aprendizaje o entrenamiento para IA.
Si les interesa profundizar en el tema de la Inteligencia Artificial les dejo el enlace a mi blog «La inteligencia artificial está transformando el mundo empresarial: cómo prepararnos para ello«, donde profundizo en ello.
Herramientas Esenciales para la Ciencia de Datos
Este blog no podría llamarse «El Poder de los Datos: Herramientas Esenciales y Recursos para la Ciencia de Datos» sin mencionar las herramientas herramientas esenciales para la Ciencia de Datos, por ello, acá está una lista de herramientas y recursos, que personalmente considero indispensables en este proceso:
Bases de Datos
Las bases de datos son fundamentales para el almacenamiento y acceso eficiente a grandes volúmenes de datos, es por ello que encabezan esta lista. Estas se subdividen en dos tipos, las bases de datos SQL y las NoSQL. Las bases de datos relacionales son empleadas para el almacenamiento de datos estructurados, utilizan el lenguaje SQL para consultas y manipulación de datos. Ejemplos incluyen MySQL, PostgreSQL, Microsoft SQL Server y Oracle Database. Las bases de datos NoSQL (Not Only SQL) son bases de datos no relacionales que se adaptan mejor a datos no estructurados o semi-estructurados. Algunos ejemplos son MongoDB, Cassandra, CouchDB y Neo4j.
Lenguajes de Programación: Python y R
Python es un lenguaje de programación que opera mediante interpretación y tiene una orientación a objetos con semántica dinámica. Para la ciencia de datos la combinación de Python y el Análisis Exploratorio de Datos (EDA) resulta beneficiosa para identificar los valores que faltan en un conjunto de datos, facilitando así la toma de decisiones sobre cómo abordarlos en el contexto del aprendizaje automático.
En cuanto a R, este lenguaje de programación de código abierto viene acompañado de un entorno de software gratuito respaldado por R Foundation for Statistical Computing. R se emplea para la elaboración de observaciones estadísticas y el análisis de datos, por lo que es ampliamente empleado por los estadísticos en el ámbito de la ciencia de datos.
Bibliotecas y Frameworks
- Pandas: Pandas es una biblioteca de Python que proporciona estructuras de datos y herramientas para el análisis y manipulación de datos tabulares. Su DataFrame es una de las estructuras más importantes, el cual es similar a una tabla en una base de datos o una hoja de cálculo. Permite cargar datos desde diversas fuentes (CSV, Excel, bases de datos), limpiar y transformar datos, filtrar y seleccionar filas y columnas, así como fusionar y unir conjuntos de datos.
- NumPy: Esta es otra biblioteca de Python para computación numérica y operaciones de matriz. Proporciona matrices multidimensionales (ndarrays) que son eficientes para realizar operaciones matemáticas y estadísticas. NumPy es ampliamente utilizado para cálculos numéricos, manipulación de matrices y operaciones vectorizadas. Su integración con otras bibliotecas, como Pandas y Matplotlib, facilita el análisis y la visualización de datos.
- Matplotlib y Seaborn: Matplotlib es una biblioteca para la creación de gráficos y visualizaciones en Python. Esta biblioteca ofrece una gran flexibilidad para crear una amplia variedad de gráficos, desde histogramas hasta gráficos de líneas y de dispersión. Por otra parte, Seaborn, es una biblioteca basada en Matplotlib que se especializa en la creación de gráficos estadísticos atractivos y complejos. Ambas bibliotecas son cruciales para la presentación de resultados y patrones en los datos de manera visual.
- scikit-learn: Esta es una de las bibliotecas de Machine Learning más populares en Python. Proporciona una amplia gama de algoritmos para problemas de clasificación, regresión, clustering y más. Además de los algoritmos, scikit-learn ofrece herramientas para la selección de características, la evaluación de modelos y la optimización de hiperparámetros. También cuenta con una estructura coherente y documentación detallada, lo que facilita su uso para profesionales y estudiantes de Ciencia de Datos.
Plataformas de visualización y análisis de datos (Power BI y Tableau)
Como ya he mencionado en este blog, Power BI y Tableau son plataformas de visualización y análisis de datos que permiten crear gráficos interactivos, tableros de control y paneles informativos. Estas herramientas son esenciales para comunicar resultados y tendencias a partes interesadas no técnicas. Proporcionan una interfaz intuitiva para arrastrar y soltar elementos visuales, además permiten conectarse a diversas fuentes de datos y generar informes interactivos. Power BI y Tableau son especialmente útiles para hacer que los datos sean más fáciles de interpretar y por ende se puedan tomar decisiones informadas basadas en la información visualizada.
Futuro de la Ciencia de Datos
La Ciencia de Datos se mantiene en constante avance, ya que a través del incremento de las organizaciones, crece el desarrollo en áreas como el análisis de datos en tiempo real, la interpretación de datos no estructurados (como imágenes y texto) y la integración de la inteligencia artificial en el proceso con productos de Machine Learning, como ya hemos visto.
El futuro de esta disciplina realmente es muy abierto, puesto como se menciona en este blog, hay muchos perfiles que están constantemente aportando valor al desarrollo de las organizaciones a través de la ciencia de datos. Mi percepción personal, es que al igual que en otras áreas, el futuro estará enfocado en abordar los retos y necesidad de cada sector, obviamente movidos por las tendencias de la globalización.
Process Mining
Personalmente no podría hablar de Ciencia de Datos sin mencionar la Minería de Procesos, ya que esta disciplina fue la que me adentró en el mundo de los datos. El Process Mining, o Minería de Procesos, es una interdisciplina que sirve de puente para unir Data Science con Process Science, y ha sido comparada con una «radiografía» o un «mapa del tesoro», puesto que su enfoque radica en analizar flujos de trabajo y procesos empresariales para detectar ineficiencias y oportunidades de mejora, comparando el proceso actual (as-is) con el proceso ideal (to-be). Entonces, ¿por qué incluir la minería de procesos en el futuro de la ciencia de datos? Desde mi perspectiva, esto recae en el papel fundamental del Process Mining en la optimización de operaciones empresariales. En cualquier organización, sin importar su tamaño, es crucial perfeccionar sus operaciones y esto implica comprender tanto el dominio de la organización (Ciencia de Datos) como la optimización de sus procesos empresariales (Minería de Procesos).
Conclusiones
En un mundo cada vez más orientado a los datos, la Ciencia de Datos funge un papel insustituible en la toma de decisiones informadas y la solución de problemas complejos. Su apertura a crear análisis de grandes volúmenes de información hasta la creación de modelos predictivos, ofrece una comprensión profunda de los datos que impulsa el progreso en diversos campos.
No obstante, la medida que crece la adopción empresarial, el reto por mantener un proceso de ciencia de datos crece, ya que al manejar grandes volúmenes de información, puede caerse en sesgos que entorpezcan la obtención de valor real en las organizaciones. Además siempre estará el riesgo sobre el uso responsable de los datos, ya que un uso irresponsable pueden, nuevamente, crear sesgos o incluso dar apertura a la discriminación, ya que el análisis de datos a menudo involucra la recopilación de información personal, es por esto que los científicos de datos deben ser conscientes de las implicaciones de sus análisis, y garantizar que los resultados sean éticos y justos, no solo a nivel organizacional, sino a nivel social.
Muchas gracias por leer este blog, espero que sea una buena introducción al mundo de los datos y sus disciplinas, si es así, me ayudarían muchísimo compartiéndolo con otras personas. Además, si creen que hay algún tema que debería haber sido mencionado en el blog o quisieran ampliar la discusión del tema, les invito a usar los comentarios como medio para compartir conocimiento y opiniones al respecto. ¡Muchas gracias!
0 comentarios