Predicción de Precio Inmobiliario con Ensemble GBM + MLP: R² ≈ 0.90
He desarrollado un modelo de predicción de precios inmobiliarios que combina Gradient Boosting y una red neuronal MLP. Con más de 21 000 transacciones reales, alcanza R² = 0.896 y un error medio de ±$62 K, comparable al margen de una tasación oficial.
En el último año he dedicado gran parte de mi tiempo a construir una herramienta que ayude a estimar el valor de una vivienda a partir de datos de mercado reales. El proyecto, llamado Predicción de Precio Inmobiliario, se basa en un enfoque de ensemble que combina dos técnicas de aprendizaje automático: Gradient Boosting (GBM) y una red neuronal de perceptrón multicapa (MLP). El objetivo era lograr una precisión comparable a la de una tasación oficial, pero con la velocidad y reproducibilidad que brinda el software.
Problema y contexto
El mercado inmobiliario está caracterizado por una alta variabilidad de precios, influenciada por factores como ubicación, superficie, antigüedad, y características estructurales. Las tasaciones tradicionales pueden presentar márgenes de error del 10‑12 % y dependen de la experiencia del tasador. Con una base de datos de más de 21 000 transacciones reales, pensé que era posible entrenar un modelo que capturara la mayor parte de esa variación y ofreciera estimaciones en tiempo real.
Arquitectura del modelo
El modelo está estructurado en dos capas principales:
- Gradient Boosting (GBM): representa el 60 % del peso del ensemble. Utilizo
GradientBoostingRegressorde scikit‑learn con 500 árboles, profundidad máxima de 6 y una tasa de aprendizaje de 0.05. Esta parte captura relaciones no lineales entre variables como metros cuadrados, número de habitaciones y distancia a servicios. - Red neuronal MLP: aporta el 40 % restante. Implementada en PyTorch, la red consta de tres capas ocultas (128‑64‑32 neuronas) con activación ReLU y regularización mediante dropout del 20 %. La MLP complementa al GBM al aprender interacciones más complejas entre variables categóricas codificadas mediante one‑hot.
Para combinar ambas predicciones, calculo una media ponderada basada en los pesos descritos. Esta estrategia de ensemble mejora la robustez del modelo frente a outliers y reduce el sobreajuste que podría presentar cada algoritmo por separado.
Pipeline de datos
Todo el proceso de ingestión y transformación de datos está orquestado con Pandas y NumPy:
- Normalización de variables numéricas mediante
StandardScaler. - Codificación de variables categóricas (tipo de vivienda, zona, estado de conservación) con
OneHotEncoder. - División estratificada del dataset en entrenamiento (80 %) y validación (20 %).
- Validación cruzada de 5 pliegues para ajustar hiperparámetros del GBM y la arquitectura de la MLP.
Métricas y resultados
En la fase de validación obtuve los siguientes indicadores:
- Coeficiente de determinación (R²): 0.8962, lo que indica que el modelo explica el 89.6 % de la variación real de los precios.
- Error medio absoluto (MAE): ±$62 000. Dado que el precio medio de la muestra es de aproximadamente $540 000, el error relativo se sitúa en torno al 11 %.
- Comparación con tasaciones oficiales: el margen de error está dentro del rango típico de una valoración profesional (10‑12 %).
Estos resultados confirman que la combinación de GBM y MLP logra una sinergia que supera a cada modelo por separado, manteniendo una capacidad de generalización adecuada.
Implementación en producción
Para ofrecer una demo interactiva en tiempo real, empaqué el modelo dentro de una API REST construida con FastAPI. La arquitectura es la siguiente:
- Endpoint
/predictrecibe un JSON con las características de la vivienda. - Los datos son pre‑procesados con la misma pipeline usada en entrenamiento.
- Se ejecuta la inferencia del ensemble y se devuelve la predicción junto con un intervalo de confianza basado en la desviación estándar de los errores de validación.
- El servidor corre en un contenedor Docker, lo que facilita su despliegue en cualquier entorno compatible con Python.
La respuesta de la API se entrega en menos de 200 ms, lo que permite una experiencia fluida para el usuario final.
Lecciones aprendidas
Durante el desarrollo surgieron varios aprendizajes que considero valiosos para futuros proyectos de IA:
- El balance de pesos en un ensemble es crítico; una simple media aritmética puede degradar el rendimiento.
- La normalización consistente entre entrenamiento y producción evita sesgos inesperados.
- El uso de validación cruzada ayuda a detectar sobreajuste, especialmente cuando se combinan modelos con diferentes sesgos.
- Una API ligera como FastAPI permite exponer modelos complejos sin sacrificar latencia.
Acceso al proyecto
El código fuente está disponible públicamente bajo licencia MIT. Puedes explorar la implementación completa, reproducir los experimentos y probar la demo interactiva en tiempo real:
Sobre este proyecto
Predicción de Precio Inmobiliario
Ensemble de Gradient Boosting + red neuronal MLP entrenado con 21.000+ transacciones reales. R²=0.90: el modelo explica el 90% de la variación real de precios, con un error medio d...
Newsletter
¿Te aviso de nuevos proyectos y artículos?
Sin spam. Solo un email cuando publico algo nuevo de IA. Baja en un clic.