Esto es iterativo, es decir, si se modifican los datos tenemos que chequear cada una de las etapas, no es algo estático o fijo.
Es vital entender el problema a resolver y cuáles son nuestros objetivos dados las características de la empresa, así como de la data que tendremos a disposición.
Las siguientes preguntas son típicas en esta etapa:
¿Qué exactamente deseamos hacer?
¿Cómo exactamente podremos hacerlo?
¿Es posible lo que deseo dada la data que tengo?
Se requiere tener claro el contexto de negocio que se analiza para poder responder las preguntas relevantes que puedan existir. Usualmente aplicamos Data Science para resolver 5 preguntas:
¿Cuánto o Cuántos? (Regresión)
¿Cuál categoría? (Clasificación)
¿Qué grupo? (Clustering)
¿Es raro? (Detección anomalías)
¿Qué opción deberíamos tomar (Recomendaciones)
Los datos recolectados deben permitir resolver las preguntas y pueden venir de diferentes fuentes, algunos ejemplos de fuentes de datos son:
Formato plano (excel, CSV, Texto, XML, JSON)
Bases de datos relacionales
Bases de datos no relacionales
Data de Web Scraping
El concepto de Big Data implica Volumen (Terabytes), Velocidad (Data en Streaming) y Variedad (Estructurado, No estructurado y semi estructurada), también llamado las 3 V.
Data First Party: Data propia de la empresa (ERP, CRM, BD, etc.).
Data Second Party: Suele ser data que comparte una organización con sus aliados estratégicos.
Data Third Party: Datos de tercero que podemos obtener ya sea de forma gratuita o incurriendo en algún tipo de costo asociado.
Normalmente lo conocemos como la limpieza de los datos o el formateo del dato.
El objetivo de esta etapa es manipular y convertir la data en formas que produzcan mejores resultados. Algunos ejemplos serían:
Eliminar o inferir datos perdidos, categorizar los valores de las variables, normalizar los valores numéricos o escalarlos para que puedan ser comparables.
Se conoce como Data Wrangling y es la tarea que usualmente toma más tiempo. Aquí se entienden mejor los datos y se preparan para análisis posteriores.
Limpiar datos esencialmente implica tratar las discrepancias de tus datos (nulos, outliers, duplicados).
Es la etapa más importante en todo el ciclo ya que los modelos usualmente son tan buenos como los datos con los que son entrenados.
Una vez que ya hemos preprocesado la data, nos corresponde elegir el algoritmo más adecuado en relación al problema que deseamos resolver.
En este punto tenemos que decidir por el Tipo de Aprendizaje que vamos a implementar.
Se conoce como Exploratory Data Analysis (EDA) y no hay reglas exactas de cómo hacerlo.
Se necesita de conocimientos en estadística para presentar resúmenes numéricos y gráficas apropiadas de acuerdo a la naturaleza de las variables analizadas.
Existen diversos tipos de analítica de datos que se pueden aplicar de acuerdo con los datos y el problema a resolver.
Analitica descriptiva: qué ha pasado en el pasado y tiene carácter meramente exploratorio
Analitica predictiva: qué podría pasar en el futuro, se pueden usar técnicas estadísticas o de Machine Learning para estimar el futuro
Analitica Prescriptiva: qué deberíamos hacer, podemos usar metodos de optimización o simulación para tomar decisiones y describir posibles resultados
Este paso tiene una relación directa con conceptos que abordaremos más adelante en el curso (Training y Test). Sin embargo, el proceso de entrenamiento de un modelo de ML, consiste en proporcionarle al modelo datos de entrenamiento de los cuales pueda aprender.
Es una de las etapas más interesantes. Se usa para encontrar patrones y comportamientos en los datos. Esto se puede lograr de dos formas usualmente
Modelamiento descriptivo (No Supervisado): que nos permite encontrar grupos y patrones ocultos
Modelamiento predictivo (supervisado): obtener predicciones futuras con base en información del pasado
Se realizará con la data de validación y procederemos a "correr” el algoritmo y a evaluar los resultados obtenidos.
En el caso de que los resultados no sean satisfactorios, deberemos volver a la etapa 5 hasta que nuestro modelo se ajuste bien a las dos particiones (data de entrenamiento y data de validación).
En esta etapa se cuantifica el desempeño del modelo creado previamente. Para esto se dividen los datos en dos partes:
Train/entrenamiento (70%) que permiten calibrar los modelos.
Test/validación (30%) que permiten obtener las métricas correspondiente.
Las métricas elegidas varían de acuerdo al algoritmo elegido, existen medidas tanto para clasificación como para regresión, es decir, se necesita tener si o si una métrica.
Una buena práctica puede ser, guardarse los datos y comparar lo que me da el modelo con los datos que tengo.
Se presentan los resultados a diferentes tipos de audiencias a través de reportes o tableros. Existen diferentes herramientas para esto, por ejemplo:
Tableau
Power BI
R- ggplot2, lattice, Shiny
Python- Matplotlib, Seaborn, Plotly, Dash
Kibana
Grafana
Spotfire
Cómo bajar a tierra lo que generamos en Python, presentarlos al Director/Jefe, etc.
Se pone en producción (a disposición de, por ejemplo, el equipo de ventas) la herramienta desarrollada en las etapas previas. Algunos Frameworks útiles son:
Flask
Django
FastAPI
Algunos proveedores en la nube son:
AWS
Azure
Google Cloud
En esta etapa es posible la toma de decisiones con base en insights. De igual forma al realizar el proceso podemos aprender de resultados positivos o negativos que puedan ocurrir. Con toda esta información es posible tomar decisiones operativas con el fin de mejorar los diferentes procesos dentro de cualquier organización.