12-机器学习-数据探索性分析大致流程
什么是EDA
- 在拿到数据后,首先要进行的是数据探索性分析(Exploratory Data Analysis),它可以有效的帮助我们熟悉数据集、了解数据集。初步分析变量间的相互关系以及变量与预测值之间的关系,并且对数据进行初步处理,如:数据的异常和缺失处理等,以便使数据集的结构和特征让接下来的预测问题更加可靠。
- 并且对数据的探索分析还可以:
- 1.获得有关数据清理的宝贵灵感(缺失值处理,特征降维等)
- 2.获得特征工程的启发
- 3.获得对数据集的感性认识
- 意义:数据决定了问题能够被解决的最大上限,而模型只决定如何逼近这个上限。
EDA流程
- 1、载入数据并简略观察数据
- 2、总览数据概况
- 在 describe 中有每一列的统计量、均值、标准差、最小值、中位数25% 50% 75%以及最大值。可以帮助我们快速掌握数据的大概范围和数据的异常判断。
- 通过 info 来了解每列的 type 和是否存在缺失数据。
- 通过 isnull().sum() 查看每列缺失情况
- 3、通过 describe 和 matplotlib 可视化查看数据的相关统计量(柱状图)
- 重点查看方差为0或者极低的特征
- 数据异常
- 重点查看方差为0或者极低的特征
-
-
- 正常值
-
- 4、缺失值处理
- 5、查看目标数据的分布
- 重点查看是否有
- 分类:类别分布不均衡
- 可以考虑使用过抽样处理
- 回归:离群点数据
- 可以考虑将离群点数据去除
- 分类:类别分布不均衡
- 存在着一些特别大或者特别小的值,这些可能是离群点或记录错误点,对我们结果会有一些影响的。那我们是需要将离群点数据进行过滤的。
- 离群点:离群点是指一个数据序列中,远离序列的一般水平的极端大值和极端小值,且这些值会对整个数据的分析产生异常的影响
- 重点查看是否有
- 6、特征分布
- 绘制数字特征的分布(直方图)
- 可以观测特征为连续性和还是离散型特征
- 可以观测特征数值的分布、
- 是否有离群点
- 绘制类别特征的分布(柱状图)
- 查看该特征中是否有稀疏类,在构建模型时,稀疏类往往会出现问题当然也不是绝对的。如果当前特征比较重要则可以将特征的稀疏类数据删除
- 绘制数字特征的分布(直方图)
- 7、查看特征于特征之间的相关性(热力图)
- 相关性强的特征就是冗余特征可以考虑去除。通常认为相关系数大于0.5的为强相关。
- 8、查看特征和目标的相关性,正负相关性越强则特征对结果影响的权重越高,特征越重要。