零基础入门数据挖掘-二手车交易价格预测之数据分析
【零基础入门数据挖掘-二手车交易价格预测之数据分析】以二手车交易价格预测为例来入门数据挖掘,本部分对数据进行分析,从而理解熟悉数据,完成对数据的探索性分析。
1.引入各种数据科学以及可视化库:
1)数据科学库:
pandas、numpy、scipy
2)可视化库:
matplotlib、seaborn
2.载入数据:
载入数据集和测试集(pd.read_csv),简略管擦数据head()+shape,describe()+info(),熟悉数据统计量和类型
3.判断数据缺失和异常,isnull()
4.了解预测值的分布,画出无界约翰逊分布、正太分布、对数正态分布,分别计算偏度和峰度,可以看出无解约翰逊分布拟合效果最好
5.对数据进行特征分类,对类别特征查看unique分布
6.对数字特征进行相关性计算,并分别计算偏度和峰度,查看各特征直接的相关性
7.对类别特征进行可视化
8.生成数据报告
在将上述过程实现的过程中,有以下要点:
1.载入各种数据科学以及可视化库,直接pip install较慢,建议直接换成国内源下载,pip install xx -I 国内源
国内源:
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/
豆瓣:http://pypi.douban.com/simple/
2.要养成看数据集的head()以及shape的习惯,这会让你每一步更放心,导致接下里的连串的错误, 如果对自己的pandas等操作不放心,建议执行一步看一下,这样会有效的方便你进行理解函数并进行操作。
3.对数据进行describe操作,其中有每列的统计量,个数count、平均值mean、方差std、最小值min、中位数25% 50% 75% 、以及最大值 看这个信息主要是瞬间掌握数据的大概的范围以及每个值的异常值的判断,比如有的时候会发现999 9999 -1 等值这些其实都是nan的另外一种表达方式,有的时候需要注意下。
4.通过info来了解数据每列的type,有助于了解是否存在除了nan以外的特殊符号异常。
5.通过isnull()和sum()来查看每列nan的情况,使用matrix和bar来进行可视化。
6.缺失值的处理,对于缺失不严重的可以进行填充处理,缺失比较严重的考虑删除修改特征,‘-’换成nan。缺失值基本都在fuelType(燃油类型),gearbox(变速箱),bodyType(车身类型),训练集和测试集保持一致,其中训练集中有一个样本model(车型编码)有缺失,因为样本只有一个,可以考虑直接删除此样本。
7.对于数据倾斜比较严重的特征,这种特征一般不会对预测有什么帮助,故可以对该特征进行删除处理。如notrepairdamage中-表示不知道是否修复的状态,这个替换成nan,直接去掉了这一部分。其中0、1比例9:1,修复与未修复比例9:1,基数比较大,对于考虑是否买有影响,所以保留。seller中0、1表示销售方是个体和非个体,基本上全是个体,只有一个是非个体,所以这个对整体基本上没影响,可以删掉。offertype中0、1表示是否提供报价类型,基本上都提供了报价类型,所以也基本没影响,可以删掉。
8.对数字特征进行分析时,在其中相关性分析过程中,分别进行各特征的相关性,接着进行排序和可视化。
9.对各特征分别计算偏度和峰度,偏度是数据的不对称程度,峰度表示分布的尾部与正态分布的区别。了解知道哪种分布(无解约翰逊分布、对数正态分布、正太分布)最适合拟合。price不服从正态分布,进行回归之前需要进行转换。
10.将所有的数字特征与预测之进行回归分析,从而了解数字特征与预测值之间的关系。
11.unique分布可以查看每一个类别特征,总共有多少类别以及每一类的数量。
12.通过观察箱型图可以看出异常值的大致位置以及数据的整体分布。
13.平均数体现了不同组数据之间的整体差异,还可以体现出一组数据中部分数据与整体的差异;箱型图的中位数就是以50%为界限的分位数,可以通过中位数看出数据的分布是否均匀;箱型图四分位数起到聚焦分布和排除偏差的作用。
14.小提琴图是箱型图和核密度图的结合,箱型图展示了分位数的位置,小提琴图则展示了任意位置的迷途,通过小提琴图可以知道哪些位置的密度较高。
15.sns.pairplot()跟sns.regplot()很相似,都能通过图形看出两两变量之间的关系,通过sns.regplot()可以看到拟合出来的回归线。
数据分析这部分绘图方法主要涉及到:
直方图、柱形图、密度曲线、箱型图(主要体现数据异常状况和不同数据间分布的对比)、小提琴图(箱型图的和核密度图的结合,是箱型图的进阶版)。箱形图,小提琴图,柱形图,频数图均比较适合观察类别变量的分布。
以下为数据源以及数据分析阶段代码以及代码结果:
链接:https://pan.baidu.com/s/1FS2MXTIckUVPqVNKme2mVA 密码:xk8t
推荐阅读
- 日志打卡
- Python基础|Python基础 - 练习1
- Java|Java基础——数组
- Java基础-高级特性-枚举实现状态机
- 营养基础学20180331(课间随笔)??
- iOS面试题--基础
- HTML基础--基本概念--跟着李南江学编程
- 八零后也已经老了
- typeScript入门基础介绍
- c++基础概念笔记