Detección de Zonas de Revalorización con XGBoost y GNN: arquitectura y resultados
He construido un modelo que combina XGBoost y una red neuronal de grafos para clasificar zonas inmobiliarias en baja, media y alta revalorización, alcanzando F1‑macro 0.61 y MCC 0.41 sobre datos sintéticos calibrados con estadísticas del INE.
▶ Probar la demo
He construido un modelo de clasificación de zonas inmobiliarias que predice el nivel de revalorización (Baja, Media, Alta) combinando XGBoost y una red neuronal de grafos (GNN).
Problema y datos de origen
El Instituto Nacional de Estadística (INE) publica índices de precios de vivienda (IPV) a nivel nacional, pero no a nivel de distrito. Para entrenar el modelo he generado 3.200 barrios sintéticos calibrados con las estadísticas del IPV 2015‑2024, manteniendo una distribución equilibrada entre las tres clases.
Arquitectura del modelo
- XGBoost: clasificador base que recibe variables estructurales y demográficas de cada barrio y produce una probabilidad para cada clase.
- GNN de 2 rounds de message‑passing: representa los barrios como nodos de un grafo espacial; cada nodo intercambia su score con los vecinos adyacentes. El primer round combina 65 % del score local con 35 % de la media de los vecinos, y el segundo round refina la señal.
- FastAPI + Leaflet.js: API que expone la predicción y visualiza los resultados en un mapa interactivo.
Métricas de desempeño
En validación cruzada 5‑fold obtengo:
- F1‑macro = 0.61 (desviación ±0.02)
- MCC = 0.41, lo que indica una correlación real del 41 % respecto a un clasificador aleatorio.
- Coherencia espacial validada en 7 ciudades diferentes.
Decisiones técnicas
- Uso de XGBoost por su capacidad de manejar variables heterogéneas y su rapidez de entrenamiento.
- Incorporación de la GNN para capturar el “efecto contagio” de gentrificación, que no se refleja en atributos locales.
- Dos rounds de message‑passing resultan suficientes para estabilizar la señal sin sobre‑suavizar.
- FastAPI permite servir el modelo con bajo overhead; Leaflet.js facilita la visualización geoespacial sin dependencias pesadas.
Resultados y disponibilidad
El modelo clasifica correctamente la mayoría de los barrios sintéticos y muestra patrones de revalorización compatibles con la literatura urbana. Todo el código está disponible públicamente y puede reutilizarse siempre que se cite la web del autor.
Demo interactiva: adrianmoreno-dev.com/deteccion-zonas
Repositorio: github.com/Chupacharcos/deteccion-zonas
Sobre este proyecto
Deteccion de Zonas de Revalorizacion
XGBoost (3 clases: Baja/Media/Alta revalorización) + GNN con 2 rounds de message-passing espacial. F1-macro=0.61 · MCC=0.41 clasificando zonas con datos sintéticos calibrados con e...
Newsletter
¿Te aviso de nuevos proyectos y artículos?
Sin spam. Solo un email cuando publico algo nuevo de IA. Baja en un clic.