Científico de Datos con experiencia en modelos predictivos y análisis de datos
View the Project on GitHub Bokols/Prediccion-de-Precios-de-Vehiculos
Prueba el modelo aquí:
El objetivo de este proyecto es predecir el precio de vehículos usados basándose en varias características como el año del modelo, la marca, el estado, el tipo de combustible, el kilometraje, el tipo de transmisión y la categoría del vehículo. Se aplican técnicas de Random Forest, Gradient Boosting y XGBoost para desarrollar modelos predictivos. Utilizamos GridSearchCV para optimizar los hiperparámetros de estos modelos y evaluamos su rendimiento utilizando el Error Cuadrático Medio Raíz (RMSE).
Este proyecto incluye varias etapas, desde el Análisis Exploratorio de Datos (EDA) hasta el entrenamiento y optimización de modelos, con enfoque en lograr el mejor modelo para predecir los precios de los vehículos.
El Análisis Exploratorio de Datos (EDA) es un paso crucial para comprender la estructura y las relaciones dentro del conjunto de datos. A través de EDA, obtenemos información sobre la distribución de las características, su relación con la variable objetivo (precio
) y los posibles problemas de datos que deben ser abordados.
El conjunto de datos consta de varias características relacionadas con los atributos de los vehículos, que incluyen:
La variable objetivo es price, que es el precio que deseamos predecir a partir de estas características.
Antes de comenzar cualquier análisis, primero aseguramos que el conjunto de datos esté limpio y listo para el análisis:
odometer
y model_year
.Calculamos estadísticas descriptivas para cada característica para entender su distribución:
odometer
y price
.price
).Realizamos un análisis univariante para comprender la distribución de las características individuales:
price
, odometer
y model_year
mediante histogramas y gráficos de densidad.condition
, fuel
y transmission
, utilizamos diagramas de barras para visualizar la frecuencia de cada categoría.Analizamos las relaciones entre las características individuales y la variable objetivo:
odometer
y model_year
se relacionan con price
.condition
, fuel
y transmission
afectan la distribución del precio.Para comprender qué características son más influyentes en la predicción del precio, utilizamos Random Forest para calcular la importancia de las características. Se espera que características como odometer
, condition
y model_year
sean los predictores más significativos del precio.
Las visualizaciones son clave para descubrir patrones en los datos:
price
, odometer
y model_year
.condition
, fuel
y transmission
.price
y otras características como odometer
, model_year
y condition
.A partir del EDA, obtenemos varias ideas que guían los siguientes pasos en el proceso de modelado:
price
tiene una distribución sesgada a la derecha, lo que indica que los vehículos con precios bajos son más comunes.Una vez completado el EDA y preparada la data, procedemos con la selección y optimización del modelo. Utilizamos varios modelos de aprendizaje automático para predecir los precios de los vehículos, incluyendo Random Forest, Gradient Boosting y XGBoost. El objetivo es identificar el modelo con mejor rendimiento a través de la optimización de hiperparámetros y validación cruzada.
Entrenamos el modelo Random Forest Regressor para predecir el precio de los vehículos. Utilizamos GridSearchCV para ajustar los hiperparámetros, como max_depth
, n_estimators
y min_samples_split
. El modelo se entrena y calculamos el Error Cuadrático Medio Raíz (RMSE) para evaluar su rendimiento.
De manera similar, entrenamos el Gradient Boosting Regressor utilizando los mejores hiperparámetros obtenidos mediante GridSearchCV. Evaluamos el rendimiento utilizando RMSE y comparamos los resultados con el modelo de Random Forest.
El XGBoost Regressor también se entrena y sus hiperparámetros se optimizan mediante GridSearchCV. Se calcula el RMSE y comparamos el rendimiento con los otros modelos.
La selección final del modelo se basa en el rendimiento de RMSE. Entre los tres modelos probados, Random Forest Regressor alcanzó el mejor rendimiento con un RMSE de $1,591.18. Los otros modelos, Gradient Boosting y XGBoost, tuvieron un rendimiento ligeramente inferior, con RMSE de $1,969.30 y $3,580.22, respectivamente.
Una vez identificado el mejor modelo, lo desplegamos para realizar predicciones con nuevos datos. Preparamos un conjunto de datos de prueba con características de vehículos (por ejemplo, año del modelo, estado, tipo de combustible), transformamos las variables categóricas utilizando los LabelEncoders entrenados y predecimos el precio utilizando el Random Forest Regressor.
Además, el modelo entrenado y los codificadores se guardan utilizando Pickle para su uso posterior, asegurando que el modelo pueda ser cargado y utilizado para futuras predicciones sin necesidad de reentrenarlo.
Este proyecto ha demostrado cómo aplicar técnicas de aprendizaje automático para predecir el precio de vehículos usados. A través del uso de Random Forest, Gradient Boosting, y XGBoost, hemos identificado que Random Forest es el modelo más adecuado para esta tarea, logrando el mejor rendimiento con un RMSE de $1,591.18.
Prueba el modelo aquí: