Sobre el Proyecto
Sistema de predicción de precios inmobiliarios basado en un ensemble de dos modelos de Machine Learning entrenados con más de 21.000 transacciones residenciales reales del condado de King (Washington, EE.UU., 2014-2015). La arquitectura es agnóstica a la geografía: con los datos adecuados se adapta a cualquier mercado.
Cómo medir la efectividad real del modelo
El accuracy clásico se usa en modelos de clasificación (sí/no). Para predicción de precios (regresión) existen métricas más precisas que evitan los problemas de los falsos positivos:
- R² = 0.8962 (~90%): coeficiente de determinación. Indica qué fracción de la variabilidad real de precios captura el modelo. Un R²=0 equivale a predecir siempre la media; R²=1 sería perfecto. Nuestro modelo explica el 90% de por qué una vivienda vale más o menos que otra.
- MAE = $62.000: error medio absoluto. De media, la predicción se desvía $62K del precio real. Sobre un mercado con precio medio de ~$540K supone un error relativo del ~11%, comparable al margen de una tasación oficial.
- Por qué no F1 / MCC aquí: F1 y MCC son métricas de clasificación binaria (sí/no). Este modelo predice un precio continuo (regresión), por lo que no existen "verdaderos positivos" ni "falsos negativos" en el sentido estricto. R² y MAE son el equivalente honesto: R² mide si el modelo capta la estructura real de los datos, MAE mide el error absoluto en euros. Para un modelo de detección de anomalías sí se aplican F1/MCC — ver el proyecto de Volatilidad.
Modelos Implementados
- HistGradientBoostingRegressor (scikit-learn): Equivalente a LightGBM/XGBoost. Entrenado con target log(precio) para reducir sesgo por viviendas de lujo. 600 iteraciones, profundidad 8. R²=0.8962, MAE≈$61.808.
- Red Neuronal MLP (PyTorch): 4 capas con BatchNorm y Dropout, ~25.000 parámetros. AdamW + Cosine Annealing, 80 épocas. R²=0.8870, MAE≈$65.130.
- Ensemble 60/40: combinación ponderada que reduce el error respecto a cada modelo individual y genera un intervalo de confianza basado en la divergencia entre ambos.
Features del Modelo
20 variables: superficie habitable, habitaciones, baños, plantas, estado de conservación (1-5), calidad de construcción (1-13), año de construcción, año de reforma, coordenadas geográficas, superficie de parcela, vistas, frente al agua, superficie media de vecinos, código postal (target-encoded), edad, superficie por habitación.
Tecnologías
Python 3.12 · scikit-learn 1.8 · PyTorch 2.10 · FastAPI · NumPy · Pandas · joblib · Laravel (proxy HTTP)
Última actualización
He incorporado un nuevo endpoint para visualizar los datos de predicción de precio inmobiliario, lo que mejora la experiencia del usuario al proporcionar una forma clara y concisa de ver los datos.
Integración, datos y licencia
- Integración: API REST propia (FastAPI) con 13 endpoints documentados en el repositorio; se puede consumir desde cualquier lenguaje o plataforma, con especificación OpenAPI autogenerada.
- Tratamiento de datos: el procesamiento se realiza íntegramente en el servidor del proyecto, sin enviar datos a servicios de IA de terceros. No se almacenan las consultas de la demo.
- Nota: Dos mercados independientes (King County y España/idealista18); incluye explicabilidad SHAP por predicción.
- Licencia: MIT — uso libre, incluido comercial, manteniendo el aviso de copyright. El repositorio contiene la aplicación completa y puede desplegarse en infraestructura propia. El código es gratuito; los costes de motor de IA, infraestructura, implantación y mantenimiento corren por cuenta de quien lo despliega (no se ofrece soporte ni consultoría).
¿Cómo lo integro?
Disponible ahora: POST /inmobiliario/predict devuelve la valoración y /inmobiliario/explain el desglose SHAP — clave para justificar una tasación ante un cliente, no solo dar un número.
Integraciones habituales en este sector (valoradas como vía recomendada; salvo que se indique lo contrario, no vienen implementadas — el código está preparado para añadirlas):
- CRM inmobiliarios (Inmovilla, Witei, Sooprema): valoración automática al alta de un inmueble: el CRM llama al endpoint y guarda precio estimado + factores que más pesan.
- Portales (Idealista, Fotocasa): sus APIs de datos requieren acuerdo comercial. La vía práctica sin convenio son los feeds XML/JSON que ya exporta cualquier CRM del sector.
- Catastro (Sede Electrónica, servicios INSPIRE): enriquecer la predicción con superficie, año de construcción y uso reales a partir de la referencia catastral, sin depender de lo que teclee el comercial.
- Hojas de cálculo / Power BI: carga masiva vía script sobre el endpoint para valorar carteras completas de golpe.