探索性数据分析的步骤
1、简略观察数据
- head()
- shape
2、数据总览
- 通过describe()来熟悉数据的相关统计量
- 通过info()来熟悉数据类型
3、判断数据缺失和异常
- 查看每列的存在nan情况,pd.isnull().sum()
- 异常值检测,Train_data['notRepairedDamage'].value_counts()
4、了解预测值的分布
- 总体分布概况(无界约翰逊分布等)
1)Train_data['price'].value_counts()
2)sns.distplot(y, kde=False, fit=st.johnsonsu)
sns.distplot(y, kde=False, fit=st.norm)
sns.distplot(y, kde=False, fit=st.lognorm)
- 查看skewness and kurtosis
sns.distplot(Train_data['price']);
print("Skewness: %f" % Train_data['price'].skew())
print("Kurtosis: %f" % Train_data['price'].kurt())
- 查看预测值的具体频数
plt.hist(Train_data['price'], orientation = 'vertical',histtype = 'bar', color ='red')
plt.hist(np.log(Train_data['price']), orientation = 'vertical',histtype = 'bar', color ='red')
plt.show()
5、特征分为类别特征和数字特征,并对类别特征查看unique分布
6、数字特征分析
- 相关性分析
- 查看几个特征得 偏度和峰值
- 每个数字特征得分布可视化
- 数字特征相互之间的关系可视化
- 多变量互相回归关系可视化
7、类型特征分析
- unique分布
- 类别特征箱形图可视化
- 类别特征的小提琴图可视化
- 类别特征的柱形图可视化类别
- 特征的每个类别频数可视化(count_plot)
8、用pandas_profiling生成数据报告