二手汽车评估

二手汽车评估

数据集取自uci,对处理好的数据集分别进行逻辑回归、随机森林、knn、svm、GBDT分类建模,寻找较优的分类模型。

数据集特征描述:

buying 买入价格(vhigh,high,med,low)
maint 维护的价格(vhigh,high,med,low)
doors 门数(2,3,4,5更多)
persons 可乘人数(2,4,更多)
lug_boot 行李箱大小(small, med, big)
safety 安全性( low, med, high)
assessment(目标变量) 可接受性(unacc, acc, good, vgood)

导入相关库:
二手汽车评估_第1张图片
从存储数据集的excel文件将数据集读入、输出数据集前五行。
二手汽车评估_第2张图片
数据集总共1728条观测、7个特征变量,没有缺失值、没有重复观测:
二手汽车评估_第3张图片
各特征变量数据类型:
二手汽车评估_第4张图片
需要对其编码处理才能投入建模。

编码:
二手汽车评估_第5张图片
除目标变量,其他变量经过编码都成int型,分割数据集,训练集:测试集=4:1
在这里插入图片描述

逻辑回归建模及对测试集进行分类并输出其准确率:

二手汽车评估_第6张图片
分类结果展示:
二手汽车评估_第7张图片

随机森林分类

二手汽车评估_第8张图片
训练集准确率、分类结果展示:
二手汽车评估_第9张图片
二手汽车评估_第10张图片
从输出结果看,构建的随机森林模型对测试集分类的准确率极高,达到98.55%,各类覆盖率及f1-score值也是相当高,观察真实类别与预测类别的热力图,对角线为预测准确,热力图对角线两侧预测错误的数目极少。

knn:

先使用交叉验证法探索最佳k值
二手汽车评估_第11张图片
绘制出不同k值下,训练集上的分类准曲率折线图,标出使准确率最高的k值,可知最佳k为6

二手汽车评估_第12张图片
根据最优k拟合knn模型并对测试集分类:
二手汽车评估_第13张图片
输出测试集分类准确率、覆盖率等信息:
二手汽车评估_第14张图片

svm:

自定义一些C值、gamma值,使用网格搜索法寻找较优的C值、gamma值,网格搜索使用2线程加快搜索速度:
二手汽车评估_第15张图片
二手汽车评估_第16张图片
返回最佳参数并拟合模型对测试集进行分类:
二手汽车评估_第17张图片
输出分类报告:
二手汽车评估_第18张图片

GBDT:

使用4线程的网格搜索法寻找较优的学习率以及分类器数量参数值:
二手汽车评估_第19张图片
通过搜索返回最优的参数值并利用其拟合GBDT模型:
二手汽车评估_第20张图片
对测试集进行分类,输出分类报告:
二手汽车评估_第21张图片
由结果可知构建的GBDT分类模型分类效果非常可观,准确率接近99%,各类别覆盖率也高达99%,将测试集真实类别与预测类别通过热力图可视化:
二手汽车评估_第22张图片
从热力图可以发现,含有346条观测的测试集上只有4条观测分类错误。

对比以上几类分类模型,GBDT分类效果最优,随机森林的分类效果也相当可观并且接近GBDT,从时间成本上看,GBDT参数调优花费了大量时间,而随机森林则耗费极短时间,因此,对于此二手汽车数据集分类,我个人会选择随机森林方法。

基于随机森林拟合的分类模型,各特征影响分类结果程度大小的可视化:
二手汽车评估_第23张图片
二手汽车评估_第24张图片

由图可得出结论:基于此数据集,购买者是否可接受一台二手车最大程度受此二手车的安全性能影响,符合人们驾车出门重视生命安全这一普遍观念,其次影响程度按可乘坐人数、买入的价钱、维护价格、行李箱大小、门数量递减。

你可能感兴趣的:(二手汽车评估)