EDA(Exploratory Data Analysis)方法总结

EDA(Exploratory Data Analysis)方法总结

本文是为了记录数据初步分析时候的方法。之前在打比赛的时候不了解这方面的内容,全是靠自己想出来的,不仅费时间、效果也一般。这里总结一下网上提供的方法,本文均来源于网络

姊妹篇:数据预处理方法集合:https://www.cnblogs.com/jiading/articles/12902871.html

EDA在Kaggle比赛中非常重要。基本上EDA就是拿了数据以后画画图看看feature有哪些特别之处,我经常看到Kaggle上面很多长篇大论式的Kernel开头导入数据以后就开始EDA, 这些人是不是时间很多闲得慌喜欢画图扯淡闹着玩呢?不是的,认真的EDA说明他们是严肃的数据玩家。比赛和理想情况不太一样,数据虽然是主办方提供的,但是毕竟还是源自真实,很有可能出现missing vlaues, 或者呈现其他的特点(比如重复的feature, 数据集中在某一区间内,等等等等), 挖掘这些数据的特点,选取合适的feature,甚至创造新的(magic) feature, 比直接上来生搬硬套模型有用得多。其次,数据量大的时候,training花费的时间是很多的,能早早发现数据的特点,有的放矢地train,才是高效之道。

  1. 查看数据行、列数:print(x_train.shape)

  2. 查看数据类型:x_train.info()

    img

    从这个图中同样能够看出存在缺失值的字段,个数少于891个的特征都是存在缺失的。

  3. 查看特征的统计量:

    img

  4. 查看单个特征的分布:plt.hist(df['sepal length (cm)']),使用的是matplotlib的hist函数

    img

  5. 查看单一特征和目标变量之间的关系:plt.scatter(df.loc[:,'sepal length (cm)'],y),使用的是scatter(散点图)

    img

  6. 分析特征之间的相关性:使用seaborn的pairplot函数,该函数会针对dataframe中的特征两两绘图,生成一个图片矩阵,反映两个特征的线性相关性。

    sns.pairplot(df)

    img

    Seaborn是一种基于matplotlib的图形可视化python libraty。它提供了一种高度交互式界面,便于用户能够做出各种有吸引力的统计图表。

    Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn就能做出很具有吸引力的图,而使用matplotlib就能制作具有更多特色的图。应该把Seaborn视为matplotlib的补充,而不是替代物。同时它能高度兼容numpypandas数据结构以及scipystatsmodels等统计模式。掌握seaborn能很大程度帮助我们更高效的观察数据与图表,并且更加深入了解它们。

  7. 使用热力图来直观反映线性相关程度的强弱

    sns.heatmap(df.corr())
    

    img

    dt.corr()是用来计算皮尔逊相关系数的

    img

  8. missingno库进行缺失探查:

    img

  9. 缺失数据的进一步分析和处理

    见这篇博文:

Reference

  1. https://zhuanlan.zhihu.com/p/65688053
  2. https://zhuanlan.zhihu.com/p/86608089
  3. https://zhuanlan.zhihu.com/p/24464836
  4. https://zhuanlan.zhihu.com/p/35063276
posted @ 2020-05-16 23:36  别再闹了  阅读(699)  评论(0)    收藏  举报