Este proyecto utiliza técnicas de Machine Learning para predecir el precio diario de los alojamientos utilizando un conjunto de datos extraído de Airbnb. El objetivo es aplicar un modelo de regresión que considere múltiples características para realizar predicciones precisas. La práctica se ha desarrollado en cuadernos de Jupyter, aprovechando la versatilidad y la potencia de scikit-learn, una biblioteca de aprendizaje automático de código abierto para Python que facilita la implementación de algoritmos de Machine Learning complejos.
- Tipo de Aprendizaje: Supervisado, específicamente regresión múltiple y univariante.
- Objetivo: Predecir el precio de la vivienda por día basándonos en diversas características.
El conjunto de datos proviene de Opendatasoft Airbnb Listings, centrado en la Comunidad de Madrid.
- Influencia de la información del anfitrión en el precio.
- Relevancia de las características geográficas.
- Características directas que impactan el precio.
- Efecto de las métricas de reserva, disponibilidad, calidad y popularidad.
Se realiza un análisis exploratorio centrado en:
- Información del anfitrión.
- Información geográfica.
- Características directas del alojamiento.
- Precios y costos adicionales.
- Restricciones de reserva y disponibilidad.
- Métricas de calidad y popularidad.
- Filtrado inicial: Se seleccionan registros exclusivos de la Comunidad de Madrid.
- Limpieza de datos: Eliminación de columnas no deseadas, codificación de variables categóricas, y división de los datos en conjuntos de entrenamiento y prueba.
Se exploran varios modelos (Árbol de Decisión, Random Forest, Bagging Regressor, Gradient Boosting, etc.) para encontrar el mejor en términos de precisión y robustez.
Se identifican las variables más significativas para el precio, como PricePerBed
, Cleaning Fee
, Room Type
, BedBathRooms
, entre otras.
Se realizan ajustes en los modelos utilizando las características identificadas como más significativas. Se busca minimizar el sobreajuste observado inicialmente y mejorar la generalización del modelo en datos no vistos.
Para evaluar la efectividad de los diferentes modelos, se utilizan varias métricas:
- Error Absoluto Medio (MAE): Proporciona una visión directa del error promedio sin penalizar excesivamente los errores grandes.
- Raíz del Error Cuadrático Medio (RMSE): Ofrece una medida sensible a los errores grandes, lo que es útil para evitar subestimaciones costosas.
- Error Cuadrático Medio (MSE): Útil cuando los errores grandes son inaceptables, aunque puede ser sensible a valores atípicos.
- Coeficiente de Determinación (R²): Mide cuánta variación de los datos puede explicarse por el modelo. Un valor más alto indica un mejor ajuste.
Se realiza una comparación detallada de cómo cada modelo se desempeña según estas métricas, permitiendo seleccionar el modelo que mejor equilibre precisión y robustez frente a datos nuevos.
Se ajustan los parámetros de los modelos seleccionados mediante técnicas como la validación cruzada y la búsqueda en cuadrícula (GridSearchCV) para encontrar la configuración óptima que maximice la precisión y minimice el error. Este proceso también ayuda a confirmar la robustez del modelo y su capacidad para generalizar bien a partir de datos no vistos.
Durante mi práctica en el módulo de Machine Learning, he probado varios modelos y analizado sus puntos fuertes y áreas de mejora. Después de un análisis detallado, tanto el Gradient Boosting Regressor como el Kernel Ridge Regression emergieron como destacados por su sobresaliente rendimiento. Esta elección refleja mi búsqueda de un modelo con buen rendimiento y mi crecimiento personal en este campo. Este proceso ha aumentado mi motivación por seguir aprendiendo y me ha enseñado el valor de la perseverancia y la curiosidad en el mundo del Machine Learning. Reconozco que todavía tengo mucho que aprender y estoy emocionada por enfrentar los desafíos futuros que me ayudarán a crecer en esta disciplina.