Analisando preço de venda de carros usados usando Python
A análise do preço de venda de carros usados é crucial para que compradores e vendedores tomem decisões informadas, o que pode ser feito facilmente usando Python. Ao aproveitar os recursos de análise e visualização de dados do Python, insights valiosos podem ser obtidos a partir do conjunto de dados disponível.
Este artigo explora o processo de pré-processamento de dados, limpeza e análise do preço de venda usando vários gráficos. Além disso, abrange a previsão do preço de venda usando um modelo de regressão linear. Com as poderosas bibliotecas do Python, como pandas, matplotlib, seaborn e scikit-learn, esta análise fornece uma abordagem abrangente para compreender os fatores que influenciam os preços de carros usados e fazer previsões de preços precisas.
Como analisar o preço de venda de carros usados em Python?
Siga as etapas abaixo para analisar o preço de venda de carros usados usando Python -
Passo 1: Importe as bibliotecas importantes
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
Etapa 2: leia o conjunto de dados e armazene-o no dataframe do pandas
data = pd.read_csv('C:/Users/Tutorialspoint/Documents/autos.csv', encoding='latin1')
Etapa 3: verifique a estrutura do conjunto de dados
data.info()
print(data.head())
Saída
dateCrawled seller offerType price vehicleType \
3 2016-03-17 16:54:04 privat Angebot 1500 kleinwagen
4 2016-03-31 17:25:20 privat Angebot 3600 kleinwagen
5 2016-04-04 17:36:23 privat Angebot 650 limousine
6 2016-04-01 20:48:51 privat Angebot 2200 cabrio
7 2016-03-21 18:54:38 privat Angebot 0 limousine
yearOfRegistration gearbox powerPS model kilometer \
3 2001 manuell 75 golf 150000
4 2008 manuell 69 fabia 90000
5 1995 manuell 102 3er 150000
6 2004 manuell 109 2_reihe 150000
7 1980 manuell 50 andere 40000
monthOfRegistration fuelType brand notRepairedDamage dateCreated \
3 6 benzin volkswagen nein 2016-03-17
4 7 diesel skoda nein 2016-03-31
5 10 benzin bmw ja 2016-04-04
6 8 benzin peugeot nein 2016-04-01
7 7 benzin volkswagen nein 2016-03-21
lastSeen
3 2016-03-17 17:40:17
4 2016-04-06 10:17:21
5 2016-04-06 19:17:07
6 2016-04-05 18:18:39
7 2016-03-25 16:47:58
Etapa 4: tratamento de valores ausentes
data = data.dropna()
Etapa 5: converta os tipos de dados somente se necessário
data['dateCrawled'] = pd.to_datetime(data['dateCrawled'])
data['dateCreated'] = pd.to_datetime(data['dateCreated'])
Etapa 6: limpeza de dados
# Remove irrelevant columns
columns_to_drop = ['name', 'abtest', 'nrOfPictures', 'postalCode']
data = data.drop(columns=columns_to_drop)
Etapa 7: analisando o preço de venda usando gráficos
Exemplo 1: Histograma do Preço de Venda
plt.figure(figsize=(10, 6))
sns.histplot(data['price'], bins=20, kde=True)
plt.xlabel('Price')
plt.ylabel('Count')
plt.title('Histogram of Selling Price')
plt.show()
Saída
Exemplo 2: Boxplot do preço de venda por tipo de veículo
plt.figure(figsize=(10, 6))
sns.boxplot(x='vehicleType', y='price', data=data)
plt.xlabel('Vehicle Type')
plt.ylabel('Price')
plt.title('Boxplot of Selling Price by Vehicle Type')
plt.show()
Saída
Exemplo 3: Gráfico de dispersão do ano de registro versus preço
plt.figure(figsize=(10, 6))
sns.scatterplot(x='yearOfRegistration', y='price', data=data)
plt.xlabel('Year of Registration')
plt.ylabel('Price')
plt.title('Scatter plot of Year of Registration vs. Price')
plt.show()
Saída
Etapa 8: previsão do preço de venda usando regressão linear
Selecione recursos relevantes e variável de destino
features = ['yearOfRegistration', 'powerPS', 'kilometer']
target = 'price'
X = data[features]
y = data[target]
Divida os dados em conjuntos de treinamento e teste:
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
Inicialize e treine o modelo de regressão linear
model = LinearRegression()
model.fit(X_train, y_train)
Saída
LinearRegression
Etapa 9: Faça previsões no conjunto de teste e imprima o preço de venda previsto
# Make predictions on the test set
y_pred = model.predict(X_test)
# Print the predicted selling price
print("Predicted Selling Price:")
for price in y_pred:
print(price)
Saída
Predicted Selling Price:
4697.820983235375
4882.88628493459
2407.3556394173065
4264.297985512414
5801.285403149028
6486.864555639331
18844.05037380848
3615.3753698624205
15154.480417441286
7511.02954521589
5815.107292202709
14360.747495675983
3868.0368050450925
6433.695591624826
3019.621718226932
……………………………………
3723.5291391374194
Etapa 10: Avalie o modelo usando o erro quadrático médio (MSE)
mse = mean_squared_error(y_test, y_pred)
print(f"Mean Squared Error: {mse}")
Saída
Mean Squared Error: 3838157266.6337757
Conclusão
Concluindo, a versatilidade e as poderosas bibliotecas do Python o tornam uma ferramenta ideal para analisar o preço de venda de carros usados. Por meio do pré-processamento, limpeza e visualização de dados, insights valiosos podem ser obtidos. Além disso, a modelagem preditiva com algoritmos de aprendizado de máquina permite previsões precisas de preços. Esta análise permite que compradores e vendedores tomem decisões informadas no mercado de automóveis usados.