EDA (Exploratory Data Anlysis) - 数据探索性分析
这一阶段旨在了解数据j集的基本特征,类似数量,字段,取值范围,是否有缺省值、异常值等。了解数据分布,相互关联关系等等。
* EDA的价值主要在于熟悉数据集,了解数据集,对数据集进行验证来确定所获得数据集可以用于接下来的机器学习或者深度学习使用。
* 当了解了数据集之后我们下一步就是要去了解变量间的相互关系以及变量与预测值之间的存在关系。
* 引导数据科学从业者进行数据处理以及特征工程的步骤,使数据集的结构和特征集让接下来的预测问题更加可靠。
1. 载入各种数据科学以及可视化库:
- 数据科学库 pandas、numpy、scipy;
- 可视化库 matplotlib、seabon;
- 其他;
2. 载入数据:
- 载入训练集和测试集pd.read_csv();
- 简略观察数据(head()+tail()+shape);
3. 数据总览:
- 通过describe()来熟悉数据的相关统计量
- 通过info()来熟悉数据类型
4. 判断数据缺失和异常
- 查看每列的存在nan情况 pd.isnull().sum()
- 异常值检测:pd[columns].value_counts().如果字段值偏差太大,可以删除这个字段。
5. 了解预测值的分布
- 总体分布概况(无界约翰逊分布,正太分布,对数正太分布等)sns.distplot(y, kde=False,fit=st.johnsonsu)
- 查看skewness and kurtosis. pd[column].skew(), kurt()
- 查看预测值的具体频数.plt.hist()
6. 特征分为类别特征和数字特征,并对类别特征查看unique分布
7. 数字特征分析
- 相关性分析 corr()
- 查看几个特征得 偏度和峰值 skew() and kurt()
- 每个数字特征得分布可视化
- 数字特征相互之间的关系可视化. sns.pairplot()
- 多变量互相回归关系可视化
8. 类型特征分析
- unique分布
- 类别特征箱形图可视化
- 类别特征的小提琴图可视化
- 类别特征的柱形图可视化类别
- 特征的每个类别频数可视化(count_plot)
9. 用pandas_profiling生成数据报告