数据分析:二手车价格预测分析
目录
一、项目要求
1,背景
二手车报价在二手车交易中对消费者有着至关重要的意义,为了大致了解二手车评估价格,消费者直接利用网上评估也是比较常见的方法,可以避免被‘坑’。
汽车网站提供的在线评估系统可以为消费者了解市场、了解价格提供了重要的依据。
2,目标
借助二手车交易数据,建立准确的二手车价格预估回归模型,可以为网站在线评估系统汽车定价提供依据。
3,内容
根据二手车市场交易相关数据,分析不同特征与价格之间的关系,使用多类算法(线性回归、支持向量机、多层感知机、随机森林、XGBoost)创建回归模型,预测二手车交易价格。
二、数据预处理
导入模块
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from scipy.stats import norm
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
from sklearn.model_selection import GridSearchCV
from sklearn.linear_model import LinearRegression
from sklearn.svm import LinearSVR
from sklearn.svm import SVR
from sklearn.neural_network import MLPRegressor
from sklearn.ensemble import RandomForestRegressor
from xgboost import XGBRegressor
from sklearn.metrics import r2_score
from sklearn.model_selection import cross_val_score
#可视化的中文处理
plt.rcParams['font.sans-serif'] = 'Microsoft YaHei'
plt.rcParams['axes.unicode_minus'] = False
plt.style.use('ggplot')
导入数据
#导入数据
car=pd.read_csv(r'second_cars_info.csv',encoding='gbk')
#数据无缺失值。
car.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 11281 entries, 0 to 11280
Data columns (total 7 columns):
Brand 11281 non-null object
Name 11281 non-null object
Boarding_time 11281 non-null object
Km 11281 non-null object
Discharge 11281 non-null object
Sec_price 11281 non-null float64
New_price 11281 non-null object
dtypes: float64(1), object(6)
#查看数据大致信息内容,变量包括汽车品牌Brand、汽车款式Name、上牌时间Boarding_time、行驶里程数Km、排放标准Discharge、二手价格Sec_price和新车价格New_price,其中只有二手价格Sec_price是数值变量。
car.head()
Brand Name Boarding_time Km Discharge
0 奥迪 奥迪A6L 2006款 2.4 CVT 舒适型 2006年8月 9.00万公里 国3
1 奥迪 奥迪A6L 2007款 2.4 CVT 舒适型 2007年1月 8.00万公里 国4
2 奥迪 奥迪A6L 2004款 2.4L 技术领先型 2005年5月 15.00万公里 国2
3 奥迪 奥迪A8L 2013款 45 TFSI quattro舒适型 2013年10月 4.80万公里 欧4
4 奥迪 奥迪A6L 2014款 30 FSI 豪华型 2014年9月 0.81万公里 国4,国5
Sec_price New_price
0 6.90 50.89万
1 8.88 50.89万
2 3.82 54.24万
3 44.80 101.06万
4 33.19 54.99万