EDA-数据探索性分析
EDA-数据探索性分析的目标
- EDA价值主要在于熟悉数据集,了解数据集,对数据集进行验证来确定所获得数据集可以用于接下来的机器学习或者深度学习使用。
- 当了解了数据集之后我们下一步就是要去了解变量间的相互关系以及变量与预测值之间的存在关系
- 引导数据科学从业者进行数据处理以及特征工程的步骤,使数据集的结构和特征集让接下来的预测问题更加可靠
EDA-探索步骤
整体总览
- 通过df.shape查看数据集行列数目
- 通过df.info()查看数据类型
- 通过df.describe()对数值型变量进行值统计
判断数据缺失和异常
缺失值判断
*通常使用 df.isnull().sum()和df.isnull().sum()判断每一列的缺失值数量以及是否存在缺失值
- 通常我们使用柱状图对缺失数量进行可视化,可视化的方法也十分简单,利用pandas自带的plot进行柱状图绘制.
通过以上两句可以很直观的了解哪些列存在 “nan”, 并可以把nan的个数打印,主要的目的在于 nan存在的个数是否真的很大,如果很小一般选择填充,如果使用lgb等树模型可以直接空缺,让树自己去优化,但如果nan存在的过多、可以考虑删掉 - 针对缺失值除了使用柱状图可视化直观查看缺失值个数,我们还可以借助missingno,查看缺失化在整体数据中的比例,使用的是missingno模块中的bar图以及matrix图
数据异常判断(非传统的异常值)
- dataframe中某一列所有数据都为同一个类型时,该数据即为int8活float32等统一的数据格式.对于类别型数据特征,假如数据类别用int表示.不是int数字类型是object类型,我们需要看一下该类别的取值value_count,看是不是有缺失值使用其他符号代替了.
特征探索
特征分为数值特征和类别特征
- 不同的特征使用的图不一样,针对数字型特征 通常可以通过散点图进行绘制
- 针对类别型特征,可以通过seaborn的countplot 或者箱型图进行绘制
数值特征可以用概率密度图批量散点图画出特征分布,可以通过画图观察到一些离群点
- 在使用lr等线性模型的时候需要对特征和标签都正态和归一化
特征分布
用散点图画出特征和标签之间的相互关系
- 对角线使用了 概率密度