La Data Preparation (Preparación de los Datos) es una de las fases más críticas dentro de la metodología de la Ciencia de Datos. Su objetivo consiste en transformar los datos obtenidos durante las fases anteriores en un conjunto de datos limpio, consistente y adecuado para el entrenamiento de modelos de Machine Learning.
Aunque suele percibirse como una etapa previa al modelado, en la práctica representa una de las actividades que más tiempo consume en un proyecto de Ciencia de Datos. Diversos estudios estiman que entre el 60 % y el 80 % del tiempo de un proyecto puede dedicarse a la preparación de los datos.
Durante esta fase se corrigen problemas detectados en Data Understanding, se limpian los datos, se transforman variables, se crean nuevas características, se integran diferentes fuentes de información y se construye el conjunto de datos final que será utilizado durante el modelado.
Una preparación adecuada mejora la calidad de los modelos, reduce el riesgo de sobreajuste y facilita la interpretación de los resultados.
¿Qué es Data Preparation?
Data Preparation es el proceso mediante el cual los datos originales se transforman en un conjunto de datos listo para ser utilizado por algoritmos de Machine Learning.
Esta fase incluye tareas como:
- Limpieza de datos.
- Tratamiento de valores nulos.
- Eliminación de duplicados.
- Corrección de errores.
- Transformación de variables.
- Codificación de variables categóricas.
- Escalado de variables.
- Ingeniería de Características.
- Integración de diferentes fuentes.
- Selección de variables.
- Reducción de dimensionalidad.
- División del conjunto de datos para entrenamiento y evaluación.
El objetivo es garantizar que el modelo reciba datos consistentes, representativos y de alta calidad.
Objetivos de Data Preparation
La preparación de los datos persigue varios objetivos.
Entre los principales destacan:
- Mejorar la calidad de los datos.
- Eliminar errores e inconsistencias.
- Reducir el ruido.
- Facilitar el aprendizaje del modelo.
- Incrementar la capacidad predictiva.
- Construir nuevas variables útiles.
- Reducir el coste computacional.
- Obtener un conjunto de datos listo para el modelado.
Preguntas que debe responder
Antes de finalizar esta fase deberían responderse preguntas como las siguientes.
Sobre la calidad de los datos
- ¿Se han tratado todos los valores nulos?
- ¿Se han eliminado los registros duplicados?
- ¿Se han corregido los errores detectados?
- ¿Se han tratado los valores atípicos?
Sobre las variables
- ¿Todas las variables tienen el formato adecuado?
- ¿Las variables categóricas están codificadas?
- ¿Las variables numéricas necesitan escalado?
- ¿Existen variables redundantes?
Sobre la Ingeniería de Características
- ¿Es necesario crear nuevas variables?
- ¿Existen interacciones relevantes?
- ¿Se han generado variables derivadas?
- ¿Conviene reducir la dimensionalidad?
Sobre el conjunto final
- ¿El conjunto de datos está preparado para el algoritmo elegido?
- ¿Existe fuga de información (Data Leakage)?
- ¿Se han separado correctamente entrenamiento y prueba?
- ¿Los datos mantienen coherencia con el problema de negocio?
Responder afirmativamente a estas preguntas indica que el conjunto de datos está listo para pasar a la fase de modelado.
Resultado esperado
Al finalizar Data Preparation debería disponerse de:
- Un conjunto de datos limpio.
- Variables correctamente tipificadas.
- Valores nulos tratados.
- Registros duplicados eliminados.
- Variables categóricas codificadas.
- Variables numéricas escaladas cuando sea necesario.
- Nuevas características creadas.
- Variables irrelevantes eliminadas.
- Datos preparados para entrenamiento.
- Conjuntos de entrenamiento, validación y prueba correctamente definidos.
- Un proceso de preparación completamente documentado y reproducible.
El resultado esperado es un dataset listo para alimentar algoritmos de Machine Learning.
Flujo de trabajo
Una forma habitual de abordar esta fase consiste en seguir el siguiente flujo de trabajo.
- Revisar los problemas detectados durante Data Understanding.
- Limpiar errores e inconsistencias.
- Tratar valores nulos.
- Eliminar registros duplicados.
- Corregir formatos y tipos de datos.
- Tratar valores atípicos.
- Transformar variables.
- Codificar variables categóricas.
- Escalar o normalizar variables cuando sea necesario.
- Realizar Ingeniería de Características.
- Seleccionar variables relevantes.
- Reducir la dimensionalidad si procede.
- Dividir los datos en entrenamiento, validación y prueba.
- Validar el conjunto de datos final.
- Documentar todas las transformaciones realizadas.
Este flujo puede repetirse varias veces hasta obtener un conjunto de datos adecuado para el modelado.
¿Cómo funciona?
La preparación de los datos transforma progresivamente los datos originales.
Durante esta fase se aplican numerosas técnicas de preprocesamiento.
Entre las más habituales se encuentran:
- Limpieza de datos.
- Imputación de valores nulos.
- Eliminación de duplicados.
- Tratamiento de valores extremos.
- Conversión de tipos de datos.
- Escalado.
- Normalización.
- Codificación.
- Ingeniería de Características.
- Selección de variables.
- Reducción de dimensionalidad.
El conjunto de datos resultante suele diferir considerablemente del conjunto original.
Principales actividades
La fase de Data Preparation engloba un gran número de tareas.
Entre las más habituales destacan:
- Data Cleaning.
- Tratamiento de valores nulos.
- Tratamiento de valores atípicos.
- Eliminación de duplicados.
- Conversión de formatos.
- Escalado y normalización.
- Codificación de variables categóricas.
- Ingeniería de Características.
- Integración de datos.
- Selección de características.
- Reducción de dimensionalidad.
- División del conjunto de datos.
Muchas de estas técnicas se desarrollan posteriormente en artículos específicos.
Ejemplo conceptual
Supongamos un conjunto de datos de clientes.
Durante Data Understanding se detectó:
- Valores nulos.
- Clientes duplicados.
- Variables categóricas.
- Fechas almacenadas como texto.
- Ingresos con valores extremos.
Durante Data Preparation podrían realizarse las siguientes acciones:
- Imputar los valores nulos.
- Eliminar registros duplicados.
- Convertir las fechas al tipo
datetime. - Codificar el género mediante One-Hot Encoding.
- Escalar los ingresos.
- Crear una variable denominada “Antigüedad del cliente”.
El resultado es un conjunto mucho más adecuado para entrenar un modelo.
Ejemplo práctico
Imaginemos un proyecto de predicción del abandono de clientes.
Durante la preparación podrían aplicarse las siguientes transformaciones.
| Problema detectado | Acción realizada |
|---|---|
| Valores nulos | Imputación mediante mediana |
| Variables categóricas | One-Hot Encoding |
| Variables muy sesgadas | Transformación logarítmica |
| Escalas muy diferentes | StandardScaler |
| Variables redundantes | Eliminación |
| Nuevas variables | Ratio de compras por mes |
Cada transformación mejora la calidad del conjunto de datos.
Data Preparation vs Data Understanding
Aunque ambas fases están estrechamente relacionadas, tienen objetivos diferentes.
| Data Understanding | Data Preparation |
|---|---|
| Analiza los datos | Transforma los datos |
| Detecta problemas | Corrige problemas |
| Explora información | Construye el conjunto final |
| No modifica los datos | Genera nuevos datos preparados |
| Produce un diagnóstico | Produce un dataset listo para modelar |
La comprensión identifica qué debe hacerse; la preparación ejecuta dichas acciones.
¿Cuándo realizar Data Preparation?
Esta fase comienza inmediatamente después de Data Understanding.
También puede repetirse cuando:
- Se incorporan nuevas variables.
- Cambian las fuentes de datos.
- Se detectan nuevos problemas.
- Cambia el algoritmo utilizado.
- Se actualiza el conjunto de datos.
En proyectos iterativos suele repetirse varias veces.
Limitaciones
Aunque resulta imprescindible, presenta algunas limitaciones.
- No puede compensar una recopilación de datos deficiente.
- Algunas transformaciones eliminan información.
- Existe riesgo de introducir Data Leakage.
- No todas las técnicas son adecuadas para todos los algoritmos.
- Algunas decisiones dependen del conocimiento del dominio.
- Puede aumentar considerablemente la complejidad del flujo de trabajo.
Por ello, todas las transformaciones deben documentarse y validarse cuidadosamente.