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)