Predicción de Precio Inmobiliario

Python scikit-learn PyTorch FastAPI NumPy Pandas Gradient Boosting Ensemble ML
Predicción de Precio Inmobiliario

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 · scikit-learn · PyTorch · FastAPI · NumPy · Pandas · joblib · Laravel (proxy HTTP)

Resultados

~90%
Varianza explicada (R²)
El modelo captura el 90% de la diferencia real entre precios. R²=0.8962 (0=aleatorio, 1=perfecto)
±$62K
Error medio absoluto (MAE)
De media, la predicción se aleja $62.000 del precio real. Sobre ~$540K de media = ~11% de error
~11%
Error porcentual relativo
Comparable al margen de error de una tasación oficial. Combinando GBM (60%) + MLP (40%)
Try Live Demo View Code
🤖 Asistente Virtual