Modelo predictivo de precio de vehículos usados - Proyecto de Data Science, IA y Machine Learning
Summary
TLDREl proyecto 'Modelo Predictivo de Precio de Vehículos Usados' busca desarrollar un modelo de Machine Learning para estimar el valor de coches en el mercado. Utilizando datos de wallapop, el equipo se enfrentó a desafíos como la obtención de datos y la limpieza de información inexacta. El análisis incluyó características del vehículo y algoritmos de ML, resultando en una herramienta útil para la compra y venta de vehículos. Ex Boost se destacó como el modelo más efectivo, destacando la potencia y el kilometraje como factores clave. Las conclusiones sugieren mejoras en la interfaz de usuario y la obtención de datos para un modelo más eficiente.
Takeaways
- 😀 Proyecto 'Modelo predictivo de precio de vehículos utilizados' busca analizar precios del sector de coches usados y desarrollar un modelo de Machine Learning para estimar el valor de los vehículos.
- 🔍 Se utilizaron algoritmos de Machine Learning para crear una herramienta que facilite la compra y venta de coches usados, basándose en características de los coches y tendencias de precios.
- 🌐 Dataset obtenido de la fuente wallapop, utilizando técnicas de web scraping con las librerías Beautiful Pandas y Selenium para manejar la página de scroll infinito.
- 🛠️ Se enfrentó a problemas de datos inservibles y repetidos, lo que redujo la cantidad de datos útiles al 30-40% de los aproximadamente 200,000 registros iniciales.
- 🔧 Se realizó una limpieza intensiva de datos, incluyendo el tratamiento de texto para estandarizar marcas y modelos de coches, y la eliminación de outliers como coches con más de un millón de kilómetros o potencias extremas.
- 📊 Se utilizó Power BI para crear un dashboard con datos limpios, mostrando información como la cantidad de coches por tipo de combustible, marcas más ofertadas y rangos de precios.
- 🏆 El modelo de Machine Learning elegido fue XGBoost, destacando parámetros importantes como potencia, año de fabricación y kilometraje del coche.
- 📈 Se analizaron los errores del modelo, identificando factores que influían en la precisión de las predicciones, como la calidad de los datos introducidos por los usuarios.
- 🔧 Se sugieren mejoras futuras como crear una interfaz de usuario amigable, integrar datos de fuentes adicionales y optimizar el proceso de obtención de datos para mejorar la eficiencia.
- 👥 El proyecto fue realizado por Martín y Mario, quienes destacaron la lentitud del proceso de web scraping y la dificultad debido a la mala calidad y redacción de los anuncios de wallapop.
- 🔄 Se destaca la importancia de la consistencia en la programación y la adaptación continua a cambios en el formato HTML de la página web, que influye en la estabilidad del modelo.
Q & A
¿Cuál es el objetivo principal del proyecto 'Modelo predictivo de precio de vehículos usados'?
-El objetivo principal del proyecto es desarrollar un modelo de Machine Learning que ofrezca una estimación precisa del valor de los vehículos usados en el mercado.
¿Qué fuente utilizan para obtener el dataset de vehículos usados?
-El dataset se obtiene de la página web Wallapop, utilizando técnicas de web scraping con las librerías Beautiful Pandas y Selenium.
¿Cuál fue una de las dificultades principales durante el proceso de obtención del dataset?
-Una de las dificultades fue la lentitud en la obtención de datos debido a la necesidad de utilizar Selenium para navegar en la página web dinámica de Wallapop y extraer información de cada anuncio de vehículo.
¿Cuáles son algunos de los factores que influyeron en los precios de los vehículos usados que analizaron?
-Los factores que influyeron en los precios incluyen características de los coches como el año de fabricación, la potencia, el kilometraje y las marcas, modelos y tipos de combustible.
¿Cómo abordaron el problema de los anuncios repetidos en Wallapop?
-Durante el proceso de limpieza del dataset, identificaron y trataron de eliminar los anuncios repetidos, que representaban aproximadamente un 30% de los anuncios, como una estrategia de marketing de los concesionarios.
¿Qué técnicas de Machine Learning utilizaron para el modelo predictivo?
-Utilizaron algoritmos de Machine Learning como XGBoost, Random Forest y otra técnica no especificada en el script, para crear el modelo predictivo.
¿Qué herramienta utilizaron para la visualización y análisis de datos?
-Utilizaron Power BI para la visualización de datos y el análisis de resultados, creando un dashboard con los datos limpios del dataset.
¿Cuál fue el porcentaje de datos útiles después de la limpieza del dataset?
-Después de la limpieza del dataset, los datos útiles representaban aproximadamente el 30 al 40% de los registros originales.
¿Qué variables nuevas crearon para mejorar el rendimiento del modelo?
-Crearon variables nuevas como 'Camperizado' para vehículos convertidos y una columna para coches con problemas como 'avería' o 'siniestro', para diferenciarlos de los coches normales.
¿Qué conclusiones extrajeron del análisis de errores en el modelo predictivo?
-Descubrieron que ciertos factores, como el tipo de combustible o la potencia, influyen más en el error de predicción. También identificaron problemas de entrada de datos por parte de los usuarios que afectaban la precisión.
¿Qué mejoras sugieren para el futuro del modelo?
-Sugirieron crear una interfaz de usuario amigable, obtener datos de fuentes diferentes y optimizar el método de obtención de datos para mejorar la velocidad y eficiencia del modelo.
Outlines
😀 Introducción al Proyecto de Predicción de Precios de Vehículos Usados
El primer párrafo introduce el proyecto de un modelo predictivo de precios para el mercado de vehículos usados. Los creadores, Martín y Mario, explican que se centra en el estudio de los precios y el desarrollo de un modelo de Machine Learning para estimar el valor de los vehículos. Utilizan algoritmos para facilitar la compra y venta de coches, incluyendo un flujo de trabajo y herramientas como web scraping, pandas, geop, y Power BI. Destacan los problemas encontrados en la obtención de datos a través de wallapop, incluyendo la limitación de la página de scroll infinito y la necesidad de manejar datos en bruto y repetidos.
🔍 Análisis y Limpieza de Datos para el Modelo Predictivo
El segundo párrafo se enfoca en los desafíos de la limpieza y análisis de datos. Se menciona la necesidad de tratar la mala redacción en los anuncios, la agrupación de marcas y el manejo de datos atípicos como vehículos con más de un millón de kilómetros. Se destaca la importancia de la corrección de marcas y la eliminación de anuncios repetidos y la reducción significativa del dataset debido a la cantidad de datos no útiles, resaltando la importancia de la calidad de los datos en el rendimiento del modelo.
🛠 Desarrollo y Optimización del Modelo Predictivo
El tercer párrafo cubre el proceso de desarrollo del modelo predictivo, incluyendo la preparación de los datos y la elección de las variables más influyentes en el precio de los vehículos. Se describen las decisiones tomadas sobre la inclusión de comentarios y la creación de nuevas columnas para mejorar la precisión del modelo. Además, se discuten los tres modelos principales evaluados y se selecciona el modelo XG Boost por su rendimiento. Se analiza el error en las predicciones y se identifican los factores que más influyen en él, concluyendo con las dificultades encontradas y las posibles mejoras futuras, como la creación de una interfaz de usuario y la optimización del método de obtención de datos.
Mindmap
Keywords
💡Modelo predictivo
💡Machine learning
💡Web scraping
💡Dataset
💡Limpieza de datos
💡Dashboard
💡Algoritmos de Machine learning
💡Características del coche
💡Error predictivo
💡Optimización del modelo
💡Interfaces de usuario
Highlights
Proyecto de modelo predictivo de precio de vehículos usados para facilitar la compra y venta.
Análisis de tendencias de precios y factores que afectan a los mismos, centrándose en características de los coches.
Uso de algoritmos de Machine Learning para estimar el valor de vehículos en el mercado.
Diagrama de flujo presentado para mostrar el timing y herramientas utilizadas en el proyecto.
Obtención de datos a través de web scraping de la página wallapop con bibliotecas como beautiful pandas y selenium.
Desafío de manejar un dataset de gran volumen con errores y datos repetidos.
Limpieza de datos con herramientas como Power BI, enfrentando problemas de nulos y repetidos.
Detección de que alrededor del 30% de los anuncios son repetidos, lo que indica una estrategia de marketing.
Tratamiento de texto para agrupar marcas de coches y normalizar la información.
Eliminación de datos irrelevantes y creación de nuevas variables para mejorar el rendimiento del modelo.
Selección de modelos de Machine Learning basados en métricas de entrenamiento y prueba.
Uso de XGBoost como modelo principal por su rendimiento en la predicción de precios.
Análisis de errores en la predicción y su correlación con características específicas de los vehículos.
Identificación de factores que influyen en el error de predicción, como la potencia y el año de fabricación.
Dificultades encontradas en el web scraping debido a la dinámica de la página y la calidad de los anuncios.
Propuestas de mejoras futuras, incluyendo la creación de una interfaz de usuario amigable y la obtención de datos de fuentes adicionales.
Optimización del modelo de obtención de datos para incrementar la velocidad y eficiencia del proceso.
Conclusión del proyecto, destacando la importancia de cada línea de código y las batallas enfrentadas durante el desarrollo.
Transcripts
buenos días a todos chicos este trabajo
lo hemos hecho Martín yo y Mario vale Y
el proyecto se llama modelo predictivo
de precio de vehículos utilizados
vale Qué buscamos con este proyecto lo
que nos lleva a este proyecto
básicamente es centrarnos en estudiar
los precios del sector de coches usados
y desarrollar un modelo de Machine
learning que proporcione una estimación
precisa del valor de los vehículos del
mercado hemos analizado Pues tendenci de
precios y los factores que los afectan
que serían básicamente pues las
características de los coches Vale y
hemos utilizado una serie de algoritmos
para crear una herramienta que facilite
la compra y venta de coches
usados vale con este diagrama de flujo
lo que os enseñamos es el timing y las
herramientas que hemos utilizado para
cada una de las partes del proyecto vale
comenzamos con la obtención del dataset
que hemos utilizado de fuente wallapop
la parte de coches Vale y la librería
web scrapping beautiful pandas y
selenium para en cuanto análisis y la
limpieza pues las librerías típicas como
pandas geop etcétera y la herramienta de
visualización Power bi en cuanto a la
búsqueda del mejor modelo las librerías
de Machine learning vale como sonen autl
y j y en cuanto análisis de resultados
pues las mismas librerías que antes y
además la herramienta de
Power con el datas ya limpio Vale y Lu
una parte de conclusiones finales Pues
que la comentaremos al final de la al
final de la
presentación vale la primera parte que
sería el tema de la obtención del
dataset vale eh hemos utilizado selenio
Vale gracias a esta librería ya que
wallapop es una página de scroll
infinito hemos podido realizar una
función que realice Este scroll vale y
vaya cargando pues nuevos anuncios de
vehículos hasta aproximadamente una
cantidad de unos 8040 eh anuncios vale
al llegar ese número la página suele
crase nos da un error y nos dice que
algo ha fallado y la función que
teníamos para obtener los link de los
coches Nos daba error vale por eso uno
de los principales problemas que hemos
tenido al final ha sido reunir una gran
cantidad
de de datos vale lo que hemos hecho ha
sido unos rangos de precios de 1000
valea una cantidad de 500.000 por cada
1000 que sería un Rango hemos buscado
aproximadamente una de unos 3000 coches
esto en bruto vale luego ya veremos Cómo
cómo los trabajamos y lo que comentaba
antes vale gracias a la web dinámica
hemos podido utilizar selenium esta
parte la va a comentar Martín que es la
parte web
scrapping Vale pues bueno una vez Ob
teníamos todos los enlaces a los
diferentes coches pues debíamos entrar
uno por uno a cada página de coche y
extraer los datos al tratarse también de
una web dinámica pues alguno de los
datos no cargaban si no teníamos la web
cargada por lo que teníamos que usar
selenium y al final esto ralentizó
bastante el hecho de obtener datas set
digamos que obtenían unos 1000 datos
pora de búsqueda siempre en el caso que
no gras seara el algoritmo porque a
veces el formato de html cambiaba
ligeramente y teníamos que estar
continuamente creando
excepciones y bueno Y como se puede la
imagen los cuadrito rojo remarcamos pues
todas las variables que obtuvimos
algunas numéricas muy importantes como
el año fabricación del coche la potencia
el kilometraje y algunas categorías como
la marca modelo y especial menciona a la
del comentario que luo nos sería muy
útil para para establecer patrones Y
obtener variables nuevas que no nos da
la
página y una vez con con todos estos
datos extraídos tenemos un ejemplo de
este inicial en bruto donde teníamos
nueve nueve numéricas siete categóricas
y una que la calificamos como texto En
referencia al
comentario en cuanto a limpieza del
dataset aquí hubo bastante trabajo
debido a que había una gran cantidad de
nulos debido a que los
usuarios más bien no rellenan las fichas
de los coches por lo que al final
teníamos un montón de filas inservibles
y aquí igual faltaba pues la potencia el
kilometraje del coche
etcétera y también hemos Resaltar
negrita a lo que nos dimos eh cuenta a
mitad de la ación de los datos es que
había gran cantidad de anuncios
repetidos con diferentes ubicaciones que
por lo visto es una estrategia de
marketing de los concesionarios para
darse mucha visibilidad porque igual
podíamos tener hasta 10 15 veces el
mismo coche pero con diferente
ubicación Así que como curiosidad más o
menos el 30% de este anuncio son de este
tipo Así que la oferta que te publicita
wallapop de coches es muy muy inferior a
la
realidad otra otro enfrentamos es a la
mala redacción que tiene la gente pues
aunque estuvieran todos los valores pues
la gente pone en el campo de los
kilómetros la potencia La potencia de
año escribir más las marcas por lo que
al final teníamos que tratar hacer un
tratamiento intenso del texto entre las
cosas que no se veo fue la agrupación de
las marcas mediante tratamiento de texto
para crear para que las marcas
estuvieran todas el mismo formato y en
un futuro a la creación de los damis
para el modelo ayudaría bastante en el
rendimiento y finalmente el tratamiento
de ers para datos extraños como coches
de más de un millón de kilómetros
potencia super a 500 coches de los años
50 etcétera que en conclusión al final
de todo dat tacet en bruto los datos
útiles eran en torno al del 30
40% y algún ejemplo de cómo tratamos
estos s lers especialmente la Gráfica de
abajo d tenemos el precio de los coches
según su año y tipo de motor vemos que a
partir del antes del año 2000 tenemos
datos muy muy erráticos que causaban
mucho ruido en el modelo por lo que hay
una métrica a fue a partir del año
2000 empezamos a los coches dond
ahí vemos que la gráfica a estabilizarse
y a seguir un patrón normal y ahora m
Pues nos va a comentar las conclusiones
de dataset una vez realizadas todas
estas funciones de
limpieza eso es aquí hemos utilizado
Power bi vale para crear un dashboard Eh
ya con los datos del dataset totalmente
limpios vale justo por lo que ha dicho
lo que ha comentado Martin tema
corrección de sobre todo de marcas eso
es lo que lo que más programado vale nos
sale una cantidad total de 354 coches
con un precio medio de
19112 vale Parece que son muchos coches
los 50.000 pero es es lo que ha dicho
Martín vale es un un 30 40% de lo que
teníamos porque sacamos algo más de
200.000 registros vale e luego en el
primer gráfico vale que tenemos con con
la gran parte verde en este nos está
diciendo que la mayor cantidad de coches
que hay ofertados son de diésel vale del
tipo de combustible diésel y los que
menos es el eléctrico pues tiene todo el
sentido del mundo vale básicamente
porque diésel lleva muchísimo más años
en el mercado que el eléctrico vale en
el siguiente gráfico que sería el
superior derecho nos muestra un top 10
de las marcas más ofertadas donde
Volkswagen BMW y Mercedes son las marcas
que más anuncios tienen y esto para un
comprador pues le puede decir que estos
coches son los que mejor funcionamiento
o duración tienen con el paso de los
años vale
También tenemos un gráfico de barras que
sería el de abajo a la izquierda que nos
muestra el recuento de vehículos por
Rango de precio recordamos que son de
1000 en 1000 eur Vale y donde vemos los
precios medios que sería 19,000 es donde
ronda Esta media del dataset Y por
último el tipo de coche más que más hay
en wallapop vale que es curioso uno de
los dos tipos es el pequeño y el 4 por4
que esto nos llamó la atención que se
vendieran tantos todoterrenos en
wallapop y el que menos sería el Coupe
que es el típico coche deportivo de de
dos plazas ahora toda la parte del
modelo la Comenta Mario Bueno una vez
limpios y analizados los datos hay que
empezar a preparar el modelo y tenemos
que tomar decisiones sobre creación o
volum no hemos utilizado la columna de
comentarios para buscar palabras clave y
crear un par de columnas en una de ellas
buscamos palabras como Camper o
camperizado para crear una columna de
vehículos camperizados dimos cuenta que
afectaba bastante sobre todo en
furgoneta y otra columna buscando
palabras como avería siniestro
reparación roto etcétera para tratar de
crear una columna que nos diferenciara
esos coches de de los coches normales
porque acepta el en el precio también
agrupamos determinadas marcas más caras
o más
exclusivas para ayudar al al modelo y
finalmente hicimos los damis para la
variable de marca tipo de vehículo
combustible y cambio TR probar bastante
eh
eliminamos todas las columnas que tenían
que ver con los datos de del vendedor
valoraciones etcétera y decidimos
eliminar el modelo del coche en un
principio estábamos dudando pero eh Por
un lado al hacer los damis nos quedaban
unas 2000 columnas Y eso nos ralentizado
muchísimo el entrenamiento del modelo y
por otro lado nos dimos cuenta que
tampoco afectaba demasiado con el
resultado final porque al final con el
tipo de coche y la potencia queda un
resultado similar un datas inicial de 17
columnas y acabamos con uno de
75 bueno tras realizar varios modelos
nos quedamos con estos tres
principales aquí los veis con su
métricas en el training test tras hacer
sus respectivos research y de los tres
nos quedamos con ex Boost porque nos da
poco verf en los otros vemos que hay un
Quiz un poquito más y como
característica a destacar los parámetros
más importantes son iguales en los tres
modelos pero cambia la cambia el orden
de importancia no quedándose en el Boost
potencia más importante que que año y
kilometraje y abajo hemos puesto un
pequeño ejemplo de los los mejores H
parámetros que encontramos para el exost
y vemos un poco el número de árboles
máxima profundidad etctera me vo a meter
mucho en
eso bueno este gráfico nos pareció
interesante porque como veis arriba en
el título son los factores que influyen
en el error una vez que hicimos el
modelo analizamos el el error la
diferencia entre la predicción y y el
precio del anuncio para ver qué pasaba
con con aquellos coches que tenían un
error mayor algunos era bastante mayor
también creamos una columna de error
absoluto porque nos daba igual al final
que fuera por arriba o por abajo
queríamos analizar esos coches y vimos
que gran parte de ellos era un problema
de El que el usuario había introducido
más los datos no de más o algún cero de
menos hicimos una pequeña limpieza de
esos de esos valores así más outliers y
luego pues nos quedó esto y nos nos
quedó este gráfico donde se puede ver
que estas son las variables que más
influyen en el en el error no si escamp
pero si es por pues provoca un mayor
error en en la
predicción y bueno como conclusiones
finales eh nos hemos dado cuenta de la
lentitud del web scraping O al menos
como lo hemos hecho nosotros que como ha
comentado Martín pues teníamos que
entrar en cada anuncio Y eso nos
ralentizado bastante la mala calidad de
los anuncios de wallapop eh Por lo que
hemos comentado igual la redacción de
del usuario wallapop te da bastante
libertad a la hora de publicar un
anuncio Y eso pues hace que la gente
escriba mal con caracteres erróneos o
metiendo el modelo en la columna de de
la marca etcétera Y eso nos ha
dificultado un poco la la limpieza
también nos hemos dado cuenta que
comentaba antes que el modelo de los
vehículos no tiene una gran influencia
en el modelo predictivo eh que parece
curioso y para finalizar pues destacar
que cada línea de código es una batalla
Empezando por el web scrapping tirando
por las funciones
etcétera cosas que funcionaban al día
siguiente ya dejaban de funcionar y ha
sido una batalla bastante al queríamos
destacar y como mejoras a futuro del
modelo Pues bueno Ahí tengo unas cuantas
como crear una interfaz para hacer una
aplicación un poco más user friendly no
que sea más que no sea tan crudo como el
código y que le permita al usuario Pues
no sé mediante un desplegable o algo
meter datos del coche obtener datos de
fuentes diferentes Como por ejemplo he
puesto ahí coche.net que es el mayor
portal de coche de segunda mano para
tratar de tener un mayoro y que el
modelo funcione mejor y optimizar el
modelo de obtención de datos para
intentar convertirlo a una especie de
buscador o de comparador que sea más más
rápido y no tan lento estábamos más o
menos a un ritmo 1000 1000 coches en
bruto por hora del cual se nos quedaba a
lo mejor el 30 al 40% Entonces se queda
bastante lento optimizar ese método Pues
sería una mejora bastante importante a
futuro
y
ya vale Este sería el trabajo chicos
Esperamos que os haya gustado mucho y
gracias por escucharnos
تصفح المزيد من مقاطع الفيديو ذات الصلة
5.0 / 5 (0 votes)