Saltar a contenido

🔍 De 79 Features a Lo Esencial: PCA y Feature Selection en el Mercado Inmobiliario

Práctica 10 - PCA y Feature Selection con Ames Housing
UT3: Reducción Dimensional | Selección Inteligente de Variables

📚 Tiempo estimado de lectura: ~15 min
- Autores [G1]: Joaquín Batista, Milagros Cancela, Valentín Rodríguez, Alexia Aurrecoechea, Nahuel López
- Fecha: Noviembre 2025
- Entorno: Python 3.13+ | Pandas | Scikit-learn | Matplotlib | Seaborn
- Referencia de la tarea: Práctica 10 — PCA y Feature Selection


💾 Descargar Notebook y Visualizaciones

📂 Archivos disponibles dentro del repositorio:
docs/portfolio/assets/pca-feature-selection/pca_feature_selection_practice10.ipynb


🎯 Objetivo

El objetivo de esta práctica fue dominar técnicas de reducción dimensional y selección de features para transformar un dataset inmobiliario con 79 variables en un modelo compacto, interpretable y eficiente. Se compararon PCA (reducción por transformación) vs Feature Selection (reducción por selección), evaluando el trade-off crítico entre complejidad del modelo y performance predictiva.


💼 Contexto y Motivación

El Desafío de Alta Dimensionalidad en Bienes Raíces

Con 79 features para predecir precios de casas, enfrentamos problemas reales:

  • 📈 Curse of Dimensionality: Modelos requieren exponencialmente más datos
  • ⏱️ Velocidad: Entrenar 79 features → 2-3 min, Inferencia lenta en producción
  • 🧠 Overfitting: Tantas variables capturan ruido, no señal
  • 💬 Interpretabilidad: Imposible explicar "qué importa" al equipo de ventas
Elemento Descripción
Problema 79 features crean modelos lentos, complejos e ininterpretables para agentes inmobiliarios
Objetivo Reducir a 15-40 features manteniendo >95% de capacidad predictiva
Dataset Ames Housing - 2,919 casas en Iowa, \(\sim\)180k precio promedio
Técnicas PCA (componentes principales) + Filter Methods (F-test, MI) + Wrapper Methods (RFE)
Valor de negocio Modelos 3x más rápidos, explicables para stakeholders, mantenibles en producción

📘 Metodología: Dos Filosofías de Reducción

PCA vs Feature Selection

┌─────────────────────────────────────────────┐
│  PCA (Principal Component Analysis)        │
├─────────────────────────────────────────────┤
│                                             │
│  🔄 TRANSFORMACIÓN                         │
│     • Crea NUEVAS variables (PC1, PC2...)  │
│     • Combinaciones lineales de originales │
│     • Ejemplo: PC1 = 0.5*GrLivArea +       │
│               0.3*OverallQual + ...        │
│                                             │
│  ✅ VENTAJAS:                              │
│     • Captura máxima varianza posible      │
│     • Decorrelaciona features              │
│     • Óptimo matemáticamente               │
│                                             │
│  ❌ DESVENTAJAS:                           │
│     • NO interpretable (¿qué es PC1?)      │
│     • Pierde conexión con features reales  │
│     • Difícil explicar a stakeholders      │
│                                             │
└─────────────────────────────────────────────┘

┌─────────────────────────────────────────────┐
│  FEATURE SELECTION                          │
├─────────────────────────────────────────────┤
│                                             │
│  ✂️ SELECCIÓN                              │
│     • Mantiene variables ORIGINALES        │
│     • Ejemplo: Selecciona GrLivArea,       │
│               OverallQual, YearBuilt       │
│                                             │
│  ✅ VENTAJAS:                              │
│     • Interpretable ("GrLivArea importa")  │
│     • Features conocidas por el negocio    │
│     • Facilita monitoreo y mantenimiento   │
│                                             │
│  ❌ DESVENTAJAS:                           │
│     • Puede descartar información útil     │
│     • Features correlacionadas problemáticas│
│     • No siempre óptimo matemáticamente    │
│                                             │
└─────────────────────────────────────────────┘

📊 Dataset: Ames Housing

Características Principales

Contexto: - 2,919 casas vendidas en Ames, Iowa (2006-2010) - 79 features: dimensiones, calidad, temporales, categóricas - Target: SalePrice (\(\sim\)180k promedio)

Distribución de variables:

Categoría N Features Ejemplos
Dimensiones 20 GrLivArea, LotArea, TotalBsmtSF, GarageArea
Calidad 15 OverallQual, KitchenQual, ExterQual, BsmtQual
Temporales 8 YearBuilt, YearRemodAdd, YrSold, MoSold
Categóricas 36 Neighborhood, HouseStyle, RoofStyle, Heating

Preprocesamiento aplicado: - Imputación de missing values (mediana para numéricas, moda para categóricas) - Label Encoding de variables categóricas (para simplificar análisis) - Estandarización con StandardScaler (crítico para PCA)


🔄 Parte 1: PCA - Análisis de Componentes Principales

1.1. Estandarización Crítica

¿Por qué estandarizar SIEMPRE antes de PCA?

# ANTES de estandarizar
GrLivArea: mean=1,515 pies², std=525
LotArea:   mean=10,148 pies², std=7,887

# PCA sin estandarizar → LotArea dominaría PC1 por su escala
# Todas las features "pequeñas" serían ignoradas

Después de estandarización:

Mean de todas las features: ~0.0
Std de todas las features:  ~1.0

Conclusión: Sin estandarizar, features con mayor escala (LotArea) dominarían componentes principales independientemente de su relevancia real para predecir precio.


1.2. Scree Plot: ¿Cuántos Componentes Necesitamos?

Scree Plot y Varianza Acumulada

Figura 1: Análisis de varianza explicada por componentes principales. Panel izquierdo: Scree plot de primeros 30 componentes - PC1 domina con 13.9% de varianza, seguido por caída pronunciada (PC2: 5.1%, PC3: 4.9%). Patrón típico de "elbow" se observa alrededor de PC10. Panel derecho: Varianza acumulada completa - para 80% varianza se requieren 39 componentes (línea roja), 90% necesita 59 componentes (verde), 95% requiere 68 componentes (naranja). Hallazgo clave: Reducción de 79→39 componentes (50.6% reducción) mantiene 80% de información, representando excelente trade-off para aplicaciones prácticas.

Análisis cuantitativo:

Umbral Varianza N Componentes Reducción Interpretación
80% 39 50.6% ✅ Balance óptimo - recomendado
90% 59 25.3% ⚠️ Reducción modesta
95% 68 13.9% ❌ Reducción mínima, no justifica complejidad

Decisión: Usar 39 componentes (80% varianza) - Reduce dimensionalidad a la mitad - Pierde solo 20% de varianza (información redundante o ruido) - Balance perfecto para modelos productivos


1.3. Interpretación de Loadings: ¿Qué Captura PC1?

Loadings Plot PC1 vs PC2

Figura 2: Loadings plot mostrando contribución de top features a PC1 (eje X, 13.9% varianza) y PC2 (eje Y, 5.1% varianza). Cuadrante derecho (PC1 positivo): Variables de tamaño dominan - GrLivArea, GarageCars, GarageArea, TotRmsAbvGrd, FullBath, YearBuilt agrupadas con loadings +0.6 a +0.8. Interpretación: PC1 = "Dimensión de Tamaño/Modernidad General" de la casa. PC2 (vertical): 2ndFlr SF alto (+0.7) vs BsmtFin SF 1 bajo (-0.6) sugiere "Tipo de Distribución Vertical" - casas con segundo piso vs casas con sótano terminado. Insight de negocio: PC1 captura el concepto intuitivo de "casa grande y moderna = más cara", mientras PC2 diferencia estilos arquitectónicos.

Top 10 Features en PC1:

Rank Feature Loading Dirección Interpretación
1 OverallQual +0.85 Positiva Calidad general (correlaciona fuerte con precio)
2 GrLivArea +0.78 Positiva Superficie habitable (métrica central)
3 GarageCars +0.74 Positiva Capacidad de garaje (proxy de tamaño)
4 GarageArea +0.72 Positiva Área de garaje (correlaciona con GarageCars)
5 TotRmsAbvGrd +0.69 Positiva Total de habitaciones (proxy de tamaño)
6 YearBuilt +0.66 Positiva Año de construcción (casas nuevas = más caras)
7 FullBath +0.64 Positiva Baños completos (indicador de calidad)
8 YearRemodAdd +0.62 Positiva Año de remodelación (mejoras = valor)
9 Fireplaces +0.55 Positiva Chimeneas (amenidad premium)
10 1stFlr SF +0.52 Positiva Superficie primer piso

Interpretación de negocio:

PC1 = "Factor de Tamaño/Calidad General"
- Captura el concepto intuitivo: Casa grande + moderna + bien construida = Precio alto - Features con loading positivo alto son todas "deseables" en bienes raíces - PC1 solo explica 13.9% de varianza → Pricing inmobiliario es complejo, no solo tamaño


1.4. Feature Selection Basada en PCA Loadings

Estrategia innovadora: En lugar de usar PC1, PC2... (abstractos), seleccionar las features ORIGINALES con mayor contribución a componentes principales.

Feature Importance por PCA

Figura 3: Selección de features originales basada en PCA loadings. Panel izquierdo: Top 20 features por importancia total (suma de loadings absolutos en primeros 39 componentes). Roof Matl, Functional, Mo Sold lideran con importancia ~4.5-5.0, seguidas por Low Qual Fin SF, Bsmt Half Bath, Utilities. Panel derecho: Distribución de importancias muestra mayoría de features con valores 2.5-3.0 (pico del histograma verde), línea roja punteada marca umbral de selección en 3.0 para top 39 features. Insight técnico: Features que contribuyen consistentemente a MÚLTIPLES componentes (no solo PC1) tienen mayor importancia total, capturando información ortogonal.

Top 20 Features Seleccionadas:

 1. Roof Matl              5.012  (Material del techo - variabilidad alta)
 2. Functional             4.987  (Funcionalidad de la casa)
 3. Mo Sold                4.756  (Mes de venta - estacionalidad)
 4. Low Qual Fin SF        4.652  (Superficie de baja calidad)
 5. Bsmt Half Bath         4.543  (Medios baños en sótano)
 6. Utilities              4.489  (Servicios públicos disponibles)
 7. Alley                  4.321  (Acceso por callejón)
 8. Condition 2            4.298  (Condición de proximidad 2)
 9. Open Porch SF          4.187  (Superficie de porche abierto)
10. Screen Porch          4.165  (Porche con mosquitero)
[...]

Ventaja sobre PCA puro: - ✅ Mantiene interpretabilidad (agentes inmobiliarios entienden "Roof Matl") - ✅ 39 features originales vs 39 componentes abstractos - ⚠️ Pierde optimalidad matemática de PCA (no maximiza varianza explícitamente)


1.5. Performance: PCA vs Features Originales

Método N Features RMSE Reducción Observación
Original 79 $27,345 0.8912 - Baseline completo
PCA Componentes 39 $28,891 0.8756 50.6% +5.7% RMSE (-1.56% R²)
PCA Loadings 39 $27,892 0.8867 50.6% +2.0% RMSE (-0.45% R²) ✅

Hallazgos clave:

  1. PCA Loadings supera a PCA Componentes:
  2. RMSE: $27,892 vs $28,891 (3.5% mejor)
  3. Razón: Features originales preservan información específica que componentes lineales diluyen

  4. Trade-off aceptable:

  5. 50% reducción de dimensionalidad
  6. Solo 2% degradación en RMSE
  7. Conclusión: Excelente para producción (modelos 2x más rápidos, 2% menos precisos)

  8. PCA Componentes pierde más performance:

  9. 5.7% degradación RMSE
  10. Implicación: Transformaciones lineales pierden sutilezas de features originales

📊 Parte 2: Feature Selection - Filter Methods

2.1. F-test (ANOVA): Relaciones Lineales

Concepto: Mide qué tan bien cada feature predice el target mediante relación lineal.

Top 15 Features por F-test:

Rank Feature F-Score Interpretación
1 OverallQual 185,420 Calidad general - predictor dominante
2 GrLivArea 98,742 Superficie habitable - core métrica
3 Neighborhood 67,834 Ubicación - factor crítico en real estate
4 GarageCars 58,291 Capacidad garaje - proxy de status
5 ExterQual 52,187 Calidad exterior - curb appeal
6 BsmtQual 48,953 Calidad sótano - añade valor
7 KitchenQual 47,621 Calidad cocina - upgrade común
8 YearBuilt 42,387 Antigüedad - depreciación
9 FullBath 39,845 Baños completos - necesidad básica
10 TotalBsmtSF 38,692 Superficie sótano - espacio extra

Insight de negocio: - Top 3 coinciden con intuición inmobiliaria: Calidad > Tamaño > Ubicación - F-scores varían de 185k (OverallQual) a 38k (TotalBsmtSF) → Importancia desigual - Features categóricas (Neighborhood, Qual) dominan → Confirman importancia de factores cualitativos


2.2. Mutual Information: Capturando No-Linealidades

Concepto: Detecta relaciones NO lineales que F-test pierde.

Comparación F-test vs Mutual Information:

Feature F-test Rank MI Rank Delta Insight
OverallQual 1 1 0 Consenso total
GrLivArea 2 2 0 Acuerdo fuerte
Neighborhood 3 5 -2 MI ve menos importancia (relación no-lineal débil)
LotArea 18 4 +14 ⭐ MI detecta no-linealidad fuerte
YearRemodAdd 15 7 +8 ⭐ Relación no-lineal con precio
GarageCars 4 6 -2 Similar importancia

Features SOLO en Mutual Information (top 39): - LotArea: Relación cuadrática (lotes muy grandes ≠ linealmente más caros) - YearRemodAdd: Interacción con YearBuilt (casas viejas renovadas) - ScreenPorch: Amenidad con efecto no-lineal (premium en ciertos segmentos)

Conclusión: - Coincidencia: ~72% entre F-test y MI (28 de 39 features comunes) - MI captura relaciones complejas que F-test pierde - Recomendación: Usar ambos métodos y seleccionar features en consenso


🔄 Parte 3: Feature Selection - Wrapper Methods

Estrategia Two-Stage para Eficiencia

Problema: Wrapper methods (Forward, Backward, RFE) sobre 79 features → 2-3 minutos cada uno

Solución: Two-Stage Selection

Stage 1: PCA Loadings (rápido)
79 features → 39 features top importantes

Stage 2: Wrapper Methods (sobre 39 features)
39 features → 15-20 features refinadas

Tiempo: 30-60 segundos (vs 2-3 min)


3.1. Recursive Feature Elimination (RFE)

Concepto: Entrena modelo, elimina features menos importantes iterativamente.

Top 15 Features por RFE:

 1. OverallQual       (Ranking: 1 - seleccionada)
 2. GrLivArea         (Ranking: 1 - seleccionada)
 3. Neighborhood      (Ranking: 1 - seleccionada)
 4. YearBuilt         (Ranking: 1 - seleccionada)
 5. BsmtQual          (Ranking: 1 - seleccionada)
 6. KitchenQual       (Ranking: 1 - seleccionada)
 7. GarageCars        (Ranking: 1 - seleccionada)
 8. ExterQual         (Ranking: 1 - seleccionada)
 9. FullBath          (Ranking: 1 - seleccionada)
10. TotalBsmtSF       (Ranking: 1 - seleccionada)
11. 1stFlrSF          (Ranking: 1 - seleccionada)
12. GarageArea        (Ranking: 1 - seleccionada)
13. LotArea           (Ranking: 1 - seleccionada)
14. YearRemodAdd      (Ranking: 1 - seleccionada)
15. Fireplaces        (Ranking: 1 - seleccionada)

Ventaja de RFE: - Considera interacciones entre features (no solo importancia individual) - Features eliminadas: 2, 3, 4... hasta 24 (peores primero) - Tiempo: 45-90s (vs 3+ min sobre 79 features originales)


3.2. Forward vs Backward Selection

Forward Selection: Empieza con 0 features, agrega la mejor en cada paso. Backward Elimination: Empieza con todas, elimina la peor en cada paso.

Coincidencia: 86.7% (13 de 15 features comunes)

Features comunes (ambos métodos): - OverallQual, GrLivArea, Neighborhood, YearBuilt - BsmtQual, KitchenQual, GarageCars, ExterQual - FullBath, TotalBsmtSF, 1stFlrSF, GarageArea, LotArea

Features controversiales: - Solo Forward: YearRemodAdd, Fireplaces - Solo Backward: OpenPorchSF, ScreenPorch

Interpretación: - Alta coincidencia → Señal robusta (features realmente importantes) - Diferencias marginales → Features ~igualmente importantes, orden arbitrario


📊 Comparación Final: Todos los Métodos

Tabla Comparativa Completa

Método N Features RMSE Reducción Tiempo Entrenamiento
Original 79 $27,345 0.8912 - 1.8s (baseline)
PCA Componentes 39 $28,891 0.8756 50.6% 1.2s ⚡
PCA Loadings 39 $27,892 0.8867 50.6% 1.3s ⚡
F-test 39 $27,621 0.8885 50.6% 1.4s
Mutual Information 39 $27,734 0.8876 50.6% 1.5s
Forward Selection 15 $28,234 0.8812 81.0% 1.1s ⚡⚡
Backward Elimination 15 $28,189 0.8816 81.0% 1.2s ⚡⚡
RFE 15 $27,998 0.8831 81.0% 1.3s

Hallazgos críticos:

🏆 Mejor RMSE: F-test ($27,621) - solo +1.0% vs original
Más rápido: Forward Selection (1.1s, 39% más rápido que original)
📉 Mejor reducción: Wrapper Methods (79→15 = 81% reducción)
⚖️ Mejor balance: RFE con 15 features - 81% reducción, +2.4% RMSE


Visualización de Trade-offs

Proyección PCA de Datos

Figura 4: Proyección de 2,919 casas en espacio de PC1 y PC2. Puntos coloreados por SalePrice (escala de \(\sim\)50k violeta a \(\sim\)750k amarillo). Patrón visible: Casas caras (amarillo/verde) agrupadas en cuadrante derecho superior (PC1 alto, PC2 positivo) → casas grandes y modernas. Casas económicas (violeta) dispersas en cuadrante izquierdo inferior → casas pequeñas/antiguas. Outliers: 3-4 puntos extremos en bordes (casas con características únicas). Insight: PC1 y PC2 juntos (19% varianza total) ya separan visualmente el mercado en segmentos de precio, validando efectividad de PCA para capturar estructura principal del dataset.


💡 Análisis de Trade-offs y Decisiones

Trade-off #1: Reducción vs Performance

┌─────────────────────────────────────────┐
│  ZONA ÓPTIMA DE OPERACIÓN               │
├─────────────────────────────────────────┤
│                                         │
│  79 features → $27,345 RMSE (100%)     │
│  39 features → $27,621 RMSE (+1.0%)    │  ✅ SWEET SPOT
│  15 features → $27,998 RMSE (+2.4%)    │  ✅ ULTRA-COMPACTO
│   5 features → $32,451 RMSE (+18.7%)   │  ❌ DEMASIADO AGRESIVO
│                                         │
│  Recomendación:                         │
│  - Producción standard: 39 features     │
│  - Mobile/Edge: 15 features             │
│  - Never: <10 features                  │
│                                         │
└─────────────────────────────────────────┘

Trade-off #2: Interpretabilidad vs Optimalidad

PCA Componentes (abstracto):

PC1 = 0.15*OverallQual + 0.13*GrLivArea + 0.12*GarageCars + ...
- ✅ Óptimo matemáticamente (maximiza varianza) - ❌ "PC1" no significa nada para agente inmobiliario - ❌ No se puede monitorear feature drift directamente

Feature Selection (interpretable):

Modelo usa: OverallQual, GrLivArea, Neighborhood, YearBuilt
- ✅ Agente entiende "Calidad y tamaño importan más" - ✅ Monitoreo: "¿Cambió distribución de OverallQual este mes?" - ⚠️ Subóptimo (pierde 2-3% RMSE vs PCA)

Decisión para Ames Housing:

Feature Selection gana - El 2-3% de pérdida en RMSE es aceptable para ganar interpretabilidad crítica en sector inmobiliario donde stakeholders son no-técnicos.


Trade-off #3: Velocidad vs Precisión

Tabla de tiempos (promedio de 5 corridas):

Método Tiempo Selección Tiempo Entrenamiento Tiempo Inferencia (1000 casas)
Original (79 feat) - 1.8s 0.045s
F-test (39 feat) 0.3s 1.4s 0.028s
RFE (15 feat) 52s ⚠️ 1.1s 0.019s ⚡⚡
PCA (39 comp) 0.8s 1.2s 0.032s

Análisis: - F-test: Ultra-rápido en selección (0.3s) → Ideal para re-entrenamiento frecuente - RFE: Lento en selección (52s) pero muy rápido en inferencia (0.019s) → Ideal para producción de alta frecuencia - Inferencia: 15 features son 2.4x más rápidas que 79 → Crítico para apps móviles


🎓 Conclusiones y Reflexiones

Respuestas a Preguntas Críticas

1. ¿Puedes explicar PC1 en términos simples?

PC1 en lenguaje de negocio:

"PC1 captura el 'factor de casa grande y moderna'. Casas con PC1 alto son típicamente: grandes (muchos pies cuadrados), nuevas (construidas recientemente), de alta calidad (buenos materiales), y con amenidades (garajes, baños completos, chimeneas). Es como un 'score general de lujo'."

¿Es útil para agentes inmobiliarios? - ✅ Concepto: Sí, entienden "casa de lujo vs económica" - ❌ Métrica: No, no pueden calcular PC1 manualmente - Conclusión: Interpretable conceptualmente pero no operacionalmente


2. ¿Qué significa que PC1 captura 13.9% de varianza?

Explicación técnica: - Dataset tiene 79 variables → 79 dimensiones de información - PC1 es la mejor línea recta que atraviesa esos datos - Captura 13.9% = explica ~14% de todas las diferencias entre casas

¿Qué está en el 86.1% restante? - PC2-PC79: Otras dimensiones (estilo arquitectónico, ubicación específica, amenidades raras) - Ruido: Variabilidad aleatoria, errores de medición - Sutilezas: Interacciones complejas que líneas rectas no capturan

Implicación: Pricing inmobiliario es complejo, no reducible a 1-2 factores


3. ¿Cuándo usar PCA vs Feature Selection?

Matriz de Decisión:

Escenario Usar PCA Usar Feature Selection
Alta dimensionalidad (>100 features) ✅ Sí ⚠️ Lento (RFE)
Features altamente correlacionadas ✅ Decorrelaciona ⚠️ Redundancia problema
Visualización de datos ✅ Proyectar a 2D/3D ❌ No reduce dim visual
Interpretabilidad crítica ❌ No interpretable ✅ Features conocidas
Stakeholders no-técnicos ❌ No explicable ✅ Fácil comunicar
Detección de feature drift ❌ Difícil monitorear ✅ Trivial
Memoria limitada (edge devices) ✅ Comprime info ✅ Ambos funcionan

Ejemplo real - PCA es mejor: - Genómica: 20,000 genes → PCA a 50 componentes - Computer Vision: 784 píxeles (28×28) → PCA a 100 componentes

Ejemplo real - Feature Selection es mejor: - Fraude bancario: 30 features transaccionales → Seleccionar 10 más sospechosas - Diagnóstico médico: 50 síntomas → Seleccionar 8 más predictivos


4. ¿Cómo decidir entre F-test, MI, RFE, Lasso?

Framework de decisión:

def recomendar_feature_selection(dataset, contexto):
    if len(features) < 20:
        return "No necesitas feature selection, usa todas"

    if contexto == "exploración_rápida":
        return "F-test (0.3s) - rápido para entender variables"

    if sospecha_relaciones_nolineales:
        return "Mutual Information - captura complejidad"

    if contexto == "modelo_producción" and tenemos_tiempo:
        return "RFE - mejor performance, vale espera de 1-2 min"

    if features_correlacionadas_alta:
        return "Lasso - shrinkage maneja multicolinealidad"

    # Por defecto
    return "Usar F-test + MI, seleccionar features en consenso"


5. ¿Qué estrategia aplicarías si métodos no concuerdan?

Estrategia Multi-Método (Ensemble de Feature Selection):

# 1. Ejecutar múltiples métodos
features_f_test = set(top_39_f_test)
features_mi = set(top_39_mi)
features_rfe = set(top_15_rfe)

# 2. Identificar features robustas (consenso)
features_robustas = features_f_test & features_mi & features_rfe
# → 12 features en las 3 listas

# 3. Agregar features con "mayoría" (2 de 3)
features_mayoria = [
    f for f in all_features 
    if sum([f in features_f_test, f in features_mi, f in features_rfe]) >= 2
]
# → 25 features adicionales

# 4. Evaluar y decidir
X_robusto = X[features_robustas]  # Ultra-conservador (12 feat)
X_mayoria = X[features_mayoria]   # Balanceado (25 feat)

# Cross-validation en ambos
# Elegir el que maximiza R² con menos features

Resultado en Ames: - Features robustas (3 métodos): OverallQual, GrLivArea, Neighborhood, YearBuilt - Features mayoría (2+ métodos): +21 adicionales - Recomendación: Usar 25 features (consenso 2/3) → Balance perfecto


Lecciones Aprendidas

Lección 1: Reducción dimensional NO es gratis

Reducción 79→39 features:
- Ganas: 50% menos complejidad, 2x velocidad
- Pierdes: 1-2% RMSE, sutilezas de features específicas

Reducción 79→15 features:
- Ganas: 81% menos complejidad, 2.4x velocidad
- Pierdes: 2-3% RMSE, capacidad de capturar casos edge

NO HAY FREE LUNCH - Siempre hay trade-off

Decisión informada: - Producción standard: 39 features (pérdida mínima) - Apps móviles: 15 features (velocidad crítica) - Investigación: 79 features (maximizar insights)


Lección 2: Interpretabilidad vale dinero

Escenario real:

Modelo A (PCA): - RMSE: $27,500 (mejor) - Features: PC1, PC2... PC39 (abstracto) - Agente pregunta: "¿Por qué esta casa vale menos?" - Respuesta: "Tiene PC3 bajo y PC7 alto" ❌ Incomprensible

Modelo B (Feature Selection): - RMSE: $28,000 (2% peor) - Features: OverallQual=5, GrLivArea=1200, Neighborhood=OldTown - Agente pregunta: "¿Por qué esta casa vale menos?" - Respuesta: "Calidad media (5/10), pequeña (1200 pies²), barrio económico" ✅ Accionable

Conclusión: En bienes raíces, $500 de error extra es aceptable si ganas capacidad de explicar y ajustar estrategia de pricing.


Lección 3: Two-Stage Selection es gold standard

Innovación del proyecto:

Estrategia tradicional (naive):
Forward Selection en 79 features → 3-4 minutos

Estrategia two-stage (inteligente):
1. PCA Loadings: 79→39 features (5 segundos)
2. Forward Selection: 39→15 features (30 segundos)
Total: 35 segundos (6x más rápido)

Performance: IDÉNTICO (mismo subset final)

Aplicabilidad: Esta técnica escala a datasets masivos (1000+ features)


📚 Referencias y Recursos

Material del Curso

  1. Profesor Juan F. Kurucz - Assignment UT3-10: PCA y Feature Selection
  2. 🔗 Práctica 10 — PCA y Feature Selection
  3. 📄 Documento: PCA y Feature Selection Fill in the Blanks

Documentación Técnica

  1. Scikit-learn - Decomposition & Feature Selection
  2. 🔗 PCA Documentation
  3. 🔗 Feature Selection Guide
  4. 📊 SelectKBest
  5. 🔄 RFE
  6. 🎯 SequentialFeatureSelector

Datasets

  1. Ames Housing Dataset (Dean De Cock, Iowa State)
  2. 🔗 Kaggle Competition
  3. 📄 Original Paper: De Cock (2011) - Journal of Statistics Education
  4. 📊 2,919 casas, 79 features, target: SalePrice

Libros y Papers

  1. "The Elements of Statistical Learning" - Hastie, Tibshirani, Friedman
  2. 📚 Springer, 2009
  3. 💡 Chapter 3.4: PCA and Reduced-Rank Regression
  4. 🔗 Free PDF

  5. "Feature Engineering and Selection" - Kuhn & Johnson

  6. 📚 Chapman & Hall/CRC, 2019
  7. 💡 Chapter 6: Dimension Reduction
  8. 🔗 Free Online

  9. "Pattern Recognition and Machine Learning" - Bishop

  10. 📚 Springer, 2006
  11. 💡 Chapter 12: PCA

Tutoriales

  1. Kaggle Learn - Feature Engineering Course
  2. 🔗 Course
  3. 📘 Lección 5: Principal Component Analysis

  4. StatQuest - PCA Explained (Josh Starmer)

  5. 🎥 YouTube
  6. 💡 Explicación visual intuitiva de PCA

🔗 Información del Proyecto

Contexto Académico: - Curso: PCA y Feature Selection - UT3
- Institución: Universidad Católica del Uruguay
- Instructor: Juan F. Kurucz
- Práctica: 10 - PCA y Feature Selection

Alcance del Proyecto: - Dataset Ames Housing con 2,919 casas y 79 features - Comparación de PCA vs 5 métodos de Feature Selection - Análisis de trade-offs: Complejidad vs Performance vs Interpretabilidad - Estrategia two-stage para optimizar wrapper methods - Framework de decisión para selección de técnicas

Skills Desarrolladas: - ✅ PCA: Análisis de componentes, scree plots, interpretación de loadings - ✅ Feature Selection: Filter (F-test, MI), Wrapper (Forward, Backward, RFE) - ✅ Trade-off analysis: Performance vs Complejidad vs Interpretabilidad - ✅ Two-stage selection para datasets grandes - ✅ Comunicación de resultados técnicos a audiencias no-técnicas