Unidad 3: Feature Engineering Avanzado¶
Esta unidad cubre técnicas avanzadas de ingeniería de características, esenciales para mejorar el rendimiento de modelos de Machine Learning. Aprenderás a crear, transformar y seleccionar features de manera estratégica.
📚 Contenido de la Unidad¶
Práctica 7: Feature Engineering con Pandas¶
Creación y transformación de características
Aprende a crear nuevas variables que mejoren el poder predictivo de tus modelos: - Creación de features derivadas - Transformaciones matemáticas (log, sqrt, exponencial) - Agregaciones y estadísticas por grupo - Binning y discretización - Interacciones entre variables - Feature engineering específico por dominio - Dataset: Ames Housing
Práctica 8: Encoding Avanzado y Target Encoding¶
Codificación de variables categóricas
Domina las técnicas de encoding para variables categóricas: - One-Hot Encoding y Label Encoding - Ordinal Encoding - Target Encoding (Mean Encoding) - Frequency Encoding - Binary Encoding - Hash Encoding - Manejo de alta cardinalidad - Prevención de overfitting en encoding
Práctica 9: PCA y Feature Selection¶
Reducción de dimensionalidad y selección de características
Aprende a reducir la complejidad de tus datos sin perder información relevante: - Principal Component Analysis (PCA) - Interpretación de componentes principales - Variance explained y scree plots - Feature Selection con métodos filter - Métodos wrapper (RFE, Forward/Backward Selection) - Métodos embedded (Lasso, Random Forest importance) - Técnicas de selección automática - Trade-offs entre complejidad e interpretabilidad
Práctica 10: Temporal Feature Engineering con Pandas¶
Ingeniería de características temporales
Extrae información valiosa de variables de tiempo: - Extracción de componentes temporales (año, mes, día, hora) - Features cíclicos (sin/cos transformations) - Diferencias y deltas temporales - Rolling windows y agregaciones temporales - Lag features y features adelantadas - Tendencias y estacionalidad - Time-based feature engineering - Manejo de series temporales
🎯 Objetivos de Aprendizaje¶
Al completar esta unidad, serás capaz de:
- ✅ Crear features nuevas que mejoren el rendimiento de modelos
- ✅ Aplicar transformaciones apropiadas a variables numéricas
- ✅ Codificar variables categóricas de múltiples maneras
- ✅ Reducir dimensionalidad con PCA
- ✅ Seleccionar las características más relevantes
- ✅ Extraer información de variables temporales
- ✅ Construir pipelines completos de feature engineering
- ✅ Evaluar el impacto de nuevas features en el modelo
🛠️ Herramientas y Tecnologías¶
- Pandas: Manipulación y feature engineering
- Scikit-learn: PCA, feature selection, encoding
- Category Encoders: Encoding avanzado
- NumPy: Operaciones matemáticas
- Matplotlib & Seaborn: Visualización de features
- Feature Engine: Herramientas especializadas
💡 Conceptos Avanzados¶
- Target Encoding: Codificación basada en la variable objetivo
- PCA: Transformación lineal para reducir dimensionalidad
- Feature Importance: Medición de la relevancia de variables
- Curse of Dimensionality: Problemas con demasiadas features
- Leakage Prevention: Evitar filtración de información en encoding
- Cyclic Features: Representación de variables cíclicas (tiempo)
📊 Datasets Utilizados¶
- Ames Housing: Predicción de precios de viviendas
- Datasets temporales: Para feature engineering temporal
- Datos con alta cardinalidad: Para técnicas de encoding avanzado