【Python数据分析】二手车价格预测 您所在的位置:网站首页 二手车预估软件 【Python数据分析】二手车价格预测

【Python数据分析】二手车价格预测

2024-04-09 04:04| 来源: 网络整理| 查看: 265

标题实验分析与设计思路

(1)读入数据 (2)分析数据格式和确定使用的模型 (3)数据预处理 (4)使用所选模型进行测试并改进 (5)应用不同算法(模型)对比效果 (6)使用集成学习算法提升回归效果 (7)网格搜索调参数

使用的函数库和初始化 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import warnings import time # 模型预测 from sklearn.linear_model import LinearRegression from sklearn.linear_model import Ridge from sklearn.linear_model import Lasso from sklearn.tree import DecisionTreeRegressor # 集成学习 from sklearn.ensemble import RandomForestRegressor import xgboost as xgb # 参数搜索 from sklearn.model_selection import GridSearchCV,cross_val_score,StratifiedKFold # 评价指标 from sklearn.metrics import make_scorer from sklearn.metrics import mean_squared_error, mean_absolute_error,accuracy_score from sklearn.model_selection import learning_curve, validation_curve warnings.filterwarnings("ignore")# 消除警告 # 初始化图形参数 plt.rcParams['figure.figsize'] = (16,9)# 设置大小 # 图形美化 plt.style.use('ggplot') # 图例无法显示中文的解决方法:设置参数 plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签 plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号 实验结果及分析 1、读取数据

这里使用在阿里巴巴天池下载的二手车交易数据https://tianchi.aliyun.com/?spm=5176.12281973.J_9711814210.8.3dd53eafkBCu9m

used_car.csv 在这里插入图片描述

数据说明: 在这里插入图片描述 读入数据 # 读取数据,以空格划分 used_car = pd.read_csv(r'C:\Desktop\数据挖掘实践\大作业\used_car.csv', sep=' ') # 输出数据大小 print('数据大小:',used_car.shape) '''可以看到数据一共有150000条,31个属性''' # 预览头10行数据 used_car.head(10)

查看数据大小:可以看到数据一共有150000条,31个属性 在这里插入图片描述

2、数据预处理 查看数据信息 ''' 可以看到: model、bodyType、fuelType、gearbox这几个属性有缺失值 ''' # 查看对应数据列名和是否存在NAN缺失信息 used_car.info()

在这里插入图片描述 可以看到:model、bodyType、fuelType、gearbox这几个属性有缺失值

print('各列缺失值统计结果为:') print(used_car.isnull().sum())

在这里插入图片描述

统计描述 # 查看数值特征列的统计信息 used_car.describe()

在这里插入图片描述

去除重复数据 # 默认根据所有属性去除,keep设置保留第一条一样的数据 used_car.drop_duplicates(keep='first')

在这里插入图片描述 可以看出无重复数据

处理缺失值 前面统计的时候知道,model、bodyType、fuelType、gearbox这几个属性有缺失值 且这些属性都是标签类的数值型数据 故填充缺失值使用众数 对于大数据集也可以直接去掉有空值的样本 使用函数dropna() # 如果有多个众数的情况,用used_car.mode()[0]第一个众数填充 used_car['model'] = used_car['model'].fillna(used_car['model'].mode()[0]) used_car['bodyType'] = used_car['bodyType'].fillna(used_car['bodyType'].mode()[0]) used_car['fuelType'] = used_car['fuelType'].fillna(used_car['fuelType'].mode()[0]) used_car['gearbox'] = used_car['gearbox'].fillna(used_car['gearbox'].mode()[0]) 再次查看是否还有缺失值 used_car.info()

在这里插入图片描述

提取不同类型的属性名 # 提取数值型属性名(exclude除去分类型) numerical_cols = used_car.select_dtypes(exclude='object').columns numerical_cols



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有