7 · Caso práctico: EDA de calidad de vino tinto
Recorre un EDA completo de seis pasos sobre un dataset de calidad de vino — forma, distribución del objetivo, histogramas, boxplots, mapa de calor de correlación y generación de hipótesis.
Un paso de EDA completo sobre un dataset de calidad de vino — desde `df.info()` hasta distribuciones de features y correlación con el objetivo en un notebook.
Sin esto:
Sin practicar un EDA completo en un dataset representativo, los pasos de las lecciones anteriores permanecen abstractos; esta lección los consolida como una rutina.
Este es el primer EDA real que escribirás desde cero. Las lecciones anteriores construyeron cada técnica por separado — valores faltantes, outliers, codificación. Ahora ejecutamos los seis pasos en secuencia sobre un solo dataset.
El dataset Red Wine Quality es un punto de partida clásico: 10 variables fisicoquímicas (acidez, pH, alcohol, sulfatos…) y una puntuación de calidad de un panel de cata ciega (3–8). Es lo suficientemente pequeño para entender fila a fila, y lo suficientemente rico para revelar todos los patrones de EDA que importan.
Lista de verificación EDA de seis pasos:
- Forma, tipos, faltantes — entiende lo que tienes antes de tocar nada
- Distribución del objetivo — conoce el rango y el equilibrio de clases de tu etiqueta antes de entrenar
- Distribuciones de features — los histogramas por variable revelan asimetría, modas y outliers
- Relaciones feature–objetivo — boxplots de cada variable por grado de calidad
- Correlaciones feature–feature — mapa de calor para detectar multicolinealidad y proxies
- Generación de hipótesis — escribe 2–3 suposiciones informadas que el modelado pondrá a prueba
Ejecuta cada paso en orden. Nunca omitas el paso 1.
Python (in browser)
Paso 1 — `df.info()` revela dtypes y conteos no nulos; `df.describe()` da el resumen de cinco números para cada columna numérica. Sin valores faltantes aquí — los datasets reales de vino también resultan estar limpios.
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Python (in browser)
Paso 2 — distribución del objetivo. La mayoría de los vinos se agrupan en calidad 5–6. Saber esto antes de entrenar evita una falsa sensación de precisión de una línea base que 'predice la clase más común'.
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Python (in browser)
Paso 3 — histogramas de 6 de las 9 variables numéricas en una cuadrícula 2×3. Asimetría > 1 (revisa chlorides, residual_sugar) señala distribuciones de cola derecha que pueden necesitar transformación logarítmica antes de un modelo lineal.
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Python (in browser)
Paso 5 — mapa de calor de correlaciones. Variables con ρ > 0.7 con otra variable señalan posible multicolinealidad. La correlación `alcohol–quality` es el hallazgo principal del dataset: mayor alcohol tiende a significar mayor calidad.
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Python (in browser)
Paso 4 — boxplots de `alcohol` por grado de calidad. La mediana sube del grado 3 al 7, confirmando la hipótesis: los vinos de mayor calidad tienden a tener más alcohol. Este es el input del Paso 6 (generación de hipótesis).
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
La lista de verificación EDA de seis pasos como bloque de comentario de código reutilizable. Pégalo al inicio de cada nuevo notebook y trabaja cada paso antes de escribir `model.fit()`.
Cuando el mapa de calor de correlaciones muestra dos variables con ρ = 0.95 entre sí, ¿cuál es el riesgo para un modelo lineal?
- Un EDA completo siempre sigue la secuencia de seis pasos: forma/tipos/faltantes → distribución del objetivo → histogramas de features → relaciones feature–objetivo → correlaciones feature–feature → generación de hipótesis.
- `df.info()` + `df.describe()` + `df.isna().sum()` es el trío mínimo del Paso 1 — nunca abras un nuevo dataset sin ejecutar los tres.
- El trabajo principal del mapa de calor de correlaciones es encontrar (a) variables que correlacionan con el objetivo (candidatas para el modelo) y (b) pares de variables que correlacionan entre sí (riesgo de multicolinealidad para modelos lineales).
- La salida del EDA es un conjunto de hipótesis explícitas y falsificables — no un modelo. Escríbelas antes de ejecutar `model.fit()`.
Todo notebook de ML estilo Kaggle abre con este exacto EDA de seis pasos. Las hipótesis generadas aquí preseleccionan variables e informan la elección de modelo (lineal → eliminar colineales; árbol → conservar todas).
Si lo quitas: Saltarse el EDA significa elegir variables por suposiciones; el resultado es un modelo que rinde peor que una línea base de 'predecir la media'.