Predicción de Precio Inmobiliario con Ensemble GBM + MLP (R² ≈ 0.90)
He creado un modelo híbrido de Gradient Boosting y red neuronal MLP que, entrenado con más de 21 000 transacciones reales, explica el 90 % de la variación de precios y alcanza un error medio de ± 62 000 USD sobre viviendas de $540 K.
En mi trabajo personal con IA he abordado un problema clásico del sector inmobiliario: estimar el precio de una vivienda a partir de sus características estructurales y de ubicación. Las tasaciones tradicionales suelen presentar márgenes de error del 10‑12 % y dependen de evaluaciones manuales. Decidí explorar si un modelo de aprendizaje automático, alimentado con datos reales y combinando técnicas de boosting y redes neuronales, podía alcanzar una precisión comparable o superior.
Datos y pre‑procesamiento
El conjunto de entrenamiento está compuesto por 21 000+ transacciones inmobiliarias recopiladas de fuentes públicas. Cada registro incluye variables numéricas (metros cuadrados, número de habitaciones, edad de la construcción) y categóricas (barrio, tipo de vivienda). Utilicé Pandas para la ingestión y NumPy para la normalización. Las variables categóricas fueron codificadas mediante one‑hot encoding y los valores faltantes se imputaron con la mediana de cada columna, garantizando que el modelo recibiera una matriz densa y homogénea.
Arquitectura del modelo
Opté por un enfoque de ensemble que combina dos sub‑modelos:
- Gradient Boosting Machine (GBM): implementado con
scikit‑learn, aporta la mayor parte de la capacidad predictiva (≈ 60 %). El GBM captura relaciones no lineales y efectos de interacción entre variables sin requerir una arquitectura profunda. - Red neuronal multilayer perceptron (MLP): construida con
PyTorch, aporta un 40 % de la fuerza predictiva. La red consta de tres capas ocultas (128‑64‑32 neuronas) con activación ReLU y regularización mediante dropout (0.2) para evitar sobre‑ajuste.
Durante la fase de entrenamiento, cada sub‑modelo se ajusta de forma independiente sobre el mismo conjunto de entrenamiento. Posteriormente, sus predicciones se combinan mediante un promedio ponderado (0.6 GBM + 0.4 MLP). Esta estrategia permite aprovechar la robustez del boosting y la capacidad de abstracción de la red neuronal.
Entrenamiento y validación
Dividí los datos en 80 % para entrenamiento y 20 % para validación, manteniendo la distribución de precios mediante muestreo estratificado. El GBM se entrenó con 500 árboles, profundidad máxima de 6 y tasa de aprendizaje de 0.05. La MLP se entrenó durante 150 épocas con el optimizador Adam (lr = 1e‑3) y una función de pérdida MSE.
Los resultados de validación son los siguientes:
- Coeficiente de determinación (R²): 0.8962, lo que indica que el modelo explica aproximadamente el 90 % de la variación real de los precios.
- Error medio absoluto (MAE): ± 62 000 USD. Dado que el precio medio de la muestra es de $540 K, el error relativo se sitúa alrededor del 11 %.
Estos valores son comparables al margen de error de una tasación oficial, pero con la ventaja de ser generados en tiempo real y sin intervención humana.
Despliegue con FastAPI
Para que cualquier interesado pueda experimentar con el modelo, empaqueté la lógica de inferencia en una API RESTful usando FastAPI. La API expone un único endpoint /predict que recibe un JSON con las características de la vivienda y devuelve la estimación de precio junto con un intervalo de confianza basado en la desviación estándar de los residuos del conjunto de validación.
El servidor corre dentro de un contenedor Docker, lo que facilita su replicación y escalado. La respuesta típica del endpoint es de menos de 100 ms, lo que permite una interacción fluida en la demo interactiva alojada en mi sitio web.
Consideraciones técnicas y lecciones aprendidas
- Balance entre complejidad y interpretabilidad: el GBM aporta interpretabilidad mediante la importancia de variables, mientras que la MLP mejora la captura de patrones no lineales complejos.
- Regularización cruzada: la combinación de early stopping en el GBM y dropout en la MLP fue clave para evitar sobre‑ajuste, especialmente dado el número limitado de transacciones.
- Escalabilidad: al separar el entrenamiento de los sub‑modelos, es posible paralelizar su ejecución en GPUs (para la MLP) y CPUs (para el GBM), reduciendo el tiempo total de entrenamiento a menos de 30 min en una máquina con 8 vCPU y una GPU RTX 3060.
Conclusiones
Este proyecto demuestra que, aun con recursos modestos y trabajando en solitario, es posible construir un predictor de precios inmobiliarios que alcanza la precisión de una tasación profesional. El enfoque híbrido de ensemble permite combinar lo mejor de dos paradigmas de aprendizaje automático, mientras que la arquitectura basada en FastAPI brinda una experiencia interactiva en tiempo real.
Invito a los lectores a probar la demo y a explorar el código fuente, disponible en mi repositorio público.
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.