Módulo 2 · Sesiones 4–5 · 7 h

Datos: preprocesamiento e ingeniería de características

5 lecciones 4 notebooks2 ejerciciosAutoevaluaciónQuiz
Ruta del módulo 0%
  1. 01 Recolección de datos S4
  2. 02 Limpieza y calidad de datos S4
  3. 03 Análisis exploratorio de datos (EDA) S4
  4. 04 Ingeniería de características S5
  5. 05 Selección de características, Pipeline y fuga de datos S5
NotebooksÁbrelos en Colab sin instalar nada, o descárgalos para el entorno local.

Objetivos

Al finalizar el módulo, el estudiante será capaz de recolectar datos de distintas fuentes, diagnosticar y corregir sus problemas de calidad con criterio y no con recetas, explorarlos con rigor estadístico, y construir características informativas dentro de un Pipeline reproducible que no filtre información del conjunto de prueba.

Contenidos

✅ Núcleo

  • S4 — Datos estructurados vs. no estructurados. Lectura desde CSV, SQL y API. Diccionario de datos y disponibilidad temporal. Marco legal (Ley 1581, RGPD).
  • S4 — Valores faltantes: mecanismos MCAR, MAR y MNAR, y qué imputación admite cada uno. Faltantes disfrazados. Duplicados reales vs. aparentes. Outliers: error, valor legítimo u otra población.
  • S4 — Análisis exploratorio: univariante, bivariante y multivariante. Interacciones. Las cuatro trampas de la correlación.
  • S5 — Escalado, codificación de categóricas y transformaciones de distribución.
  • S5 — Creación de variables: combinar, descomponer, indicadores, agregaciones, interacciones. Cómo demostrar que una variable aporta.
  • S5 — Selección de características: filtro, envoltura y embebidos.
  • S5Pipeline y ColumnTransformer. Fuga de datos: tipos, magnitudes medidas y cómo evitarla.

🔵 Opcional

  • Web scraping con requests y BeautifulSoup; ética, robots.txt y legalidad.
  • Codificación por objetivo (target encoding) y alta cardinalidad.
  • Imputación iterativa y por KNN.

Materiales

Teoría

#DocumentoSesiónTema
01teoria/01-recoleccion-datos.mdS4Fuentes, formatos, diccionario de datos, marco legal y sesgo de representatividad
02teoria/02-limpieza-y-calidad.mdS4MCAR/MAR/MNAR, duplicados, outliers, calidad
03teoria/03-analisis-exploratorio.mdS4EDA univariante, bivariante y multivariante; interacciones
04teoria/04-ingenieria-caracteristicas.mdS5Escalado, codificación, transformaciones, creación de variables
05teoria/05-seleccion-y-pipelines.mdS5Selección, Pipeline, ColumnTransformer, fuga de datos

Notebooks

#NotebookTipoContenido
01notebooks/01-limpieza-eda-aplicado.ipynbaplicadoDiagnóstico completo del Titanic: redundancia, fuga, mecanismos de ausencia, duplicados, outliers, EDA e interacción sexo × clase
02 🔵notebooks/02-webscraping-aplicado.ipynbaplicadoBeautifulSoup, read_html, conversión de tipos, ética y robots.txt
03notebooks/03-fuga-de-datos-intuicion.ipynbintuiciónMedición del sobreoptimismo de cada tipo de fuga, con error estándar
04notebooks/04-pipeline-caracteristicas-aplicado.ipynbaplicadoColumnTransformer, variables nuevas, selección, artefacto desplegable

El notebook 03 es el corazón del módulo. Sobre ruido puro —donde no hay absolutamente nada que aprender— seleccionar características fuera de la validación produce un 81 % de accuracy. Hecho bien, da 46 %. Y midiendo con error estándar sobre 100 particiones, el sesgo del escalado y de la imputación resulta indistinguible de cero, mientras el de la selección llega a +13 puntos. Ese sentido de la proporción es lo que suele faltar cuando se enseña fuga de datos.

Datos

Dataset conductor del módulo: titanic.csv

ArchivoDescripciónPor qué este
datos/titanic.csv891 pasajeros, 15 columnas. Dominio público, vía seaborn-dataEstá sucio de todas las formas interesantes: age 19.9 % nulo (MAR), deck 77.2 % nulo (MNAR), alive es una fuga de datos que viene de fábrica, class/embark_town/adult_male son redundantes, 107 filas idénticas que no son duplicados, y outliers legítimos (un bebé de 5 meses, tarifas de 512)
datos/descargar-titanic.pyScript de descarga idempotenteDocumenta la procedencia exacta
datos/matriculas-sucio.csv620 solicitudes de admisión, sintéticas, con 11 defectos plantadosDataset del ejercicio 01: el estudiante hace el diagnóstico sin haberlo visto antes
datos/generar-matriculas-sucio.pyGenerador con semilla fija; documenta cada defecto plantadoReproducible byte a byte
datos/pagina-ejemplo.htmlPágina HTML local para el notebook de scrapingEvita depender de una web viva que cambie y rompa el notebook

Ejercicios

#EnunciadoSoluciónDuración
01ejercicios/ej01-limpieza.mdej01-limpieza-sol.md90 min
02ejercicios/ej02-pipeline.mdej02-pipeline-sol.md90 min

El ejercicio 01 pide diagnosticar matriculas-sucio.csv, que tiene nueve problemas distintos, incluidos dos faltantes disfrazados que isna() no detecta y una mezcla de duplicados reales y aparentes. El 02 lo convierte en un Pipeline desplegable y hace medir al estudiante las tres fugas sobre sus propios datos.

Quiz

EnunciadoClavePreguntasDuración
quiz/quiz-modulo-2.mdquiz-modulo-2-sol.md1030 min

Entrega del proyecto integrador

E2 — Datos. EDA del caso, decisiones de limpieza justificadas y Pipeline de preprocesamiento reproducible. Ver ../proyecto-integrador/.


Los notebooks se ejecutan de principio a fin con el entorno de ../environment.yml. Reglas de estilo en ../docs/convenciones.md.