当前位置:   article > 正文

pandas 数据分析 相关性_Kaggle知识点:数据分析EDA

相关性分析不考虑target吗

b5e355e6501781842417f6929d403c44.png

Kaggle知识点:数据分析

在现有数据竞赛和数据领域中数据分析是重要组成部分,且数据分析与具体的业务背景和业务逻辑联系紧密。数据分析是发现数据规律的有效方法,也是验证思路的有效方法。

本文将以Kaggle竞赛为背景,讲述在竞赛中如何完成数据分析,具体内容包括:

  1. 数据分析的工具/库;
  2. 探索性数据分析EDA;
  3. 数据分析图表的选择;

PART 01 数据分析的工具/库

由于本文限定于竞赛中的数据分析,特别是Python语言下的数据分析。在Python第三方库中拥有众多的数据分析资源,常用库包括:

  • Pandas, https://pandas.pydata.org/

广泛使用的结构化数据的库,提供了复杂的索引、切片聚合和选取等操作,是数据分析读取数据的不二之选。

8dc4930633e884d6dcba3cc9637e26d7.png
  • Matplotlib, https://matplotlib.org/

Python环境下最流行的图表库,提供了非常基础且强大的绘图工具,适合定制化开发,是入门Python环境下可视化必备的库。

b3fc8b067dde6e159bfcccf5b2d8a538.png
  • Seaborn, https://seaborn.pydata.org/

Python环境下常用的可视化图表库,其基于Matplotlib进行二次开发,并对常用的可视化图表进行了定制开发,可快速绘制出漂亮的图表

268e54fb44e903228c3a3c0d7e23a340.png
  • Bokeh, https://docs.bokeh.org/en/latest/

Bokeh是Python环境下的可以支持交互的图表库,可以很方便的将图表导出为动画,还支持流媒体和实时数据。

3fd3c92f29d413219a9e0a76d81a2c84.png
  • Plotly, https://plotly.com/python/

Plotly基于原生JS开发,所以在使用方式上与JS代码很像,并提供了Python接口。Plotly的交互性很好,可以很友好的进行图表的互动,且提供的画图工具非常强大。资源和文档的复杂导致Plotly的学习成本也比较高。

69ccf18161906db2efeda4dbdc13e249.png
  • pyecharts, https://github.com/pyecharts/pyecharts

pyecharts 是一个用于生成 Echarts 图表的类库,可以方便在 Python 中直接使用数据生成图。pyecharts与浏览器可以做深入交互,且对中文支持比较好。

e7b7208cab9e1dc3e5b804d4c4305aec.png
  • pygal, http://www.pygal.org/

pygal是一款可与浏览器做交互的图表库,提供了非常基础的数据可视化方法,并可以方便的与SVG进行转换。

f17eb799297bc648d3b1787cfbe2aefd.png
  • folium, https://python-visualization.github.io/folium/

folium 建立在 Leaflet.js 库的映射能力之上,在Python中操作数据并在 Leaflet 地图中可视化。folium入门非常简单,几行代码就可以绘制出地图数据。

9bd1881566f965d714c0a6f9d7eeca64.png
  • basemap, https://matplotlib.org/basemap/

basemap是一个用于在Python中绘制地图上的2D数据的库,可以使用常规的地图素材数据源作为底图进行叠加绘图,可以用于定制复杂的地理图,但上手难度较大。

cd2e7b0641154e7f74cd17aaa9356266.png
  • missingno, https://github.com/ResidentMario/missingno

missingno是Python环境下对缺失值进行统计可视化的图表库,适合统计Pandas类型数据的确实情况,是衡量数据质量和分析数据缺失值情况的神器。

8e9d7b0210004395b3be6ddf3f76e647.png

由于篇幅原因还有很多库没有被介绍,如plotnine、holoviews、altair、pyqtgraph、vispy、networkx、geoplotlib、gleam、vincent、mpld3、python-igraph、mayavi2、leathe,这些都是Python第三库中非常值得学习和被使用的库。

当我们需要做一个可视化图表时,可以从以下几个角度来选择合适的库:

  • 可视化图表的类型和用途;
  • 可视化图表是否支持可交互;
  • 可视化图表是否需要定制化;

PART 02 探索性数据分析

探索性数据分析(Exploratory Data Analysis,简称EDA),指对数据分析的过程中尽量不加入先验假设,而是通过作图表和统计等方式来探索数据结构和规律。

EDA最早由John W. Tukey在上世纪70年代被提出,最早用于统计学的科学实验的数据研究中。EDA现在已经是数据分析中重要的指导思路,从数据出发来寻找规律,而不是依靠人工假设。

c8fade0f7113ce71105386e3ce9bfe30.png
https://book.douban.com/subject/3094457/

在EDA中你可以构思各种各样的假设,并通过数据分析去寻找相应的反馈,以此迭代来寻找到数据集中分布的规律。在探索的过程中会随着不断的深入对数据理解更加深刻。

EDA的流程如下:

  • 提出问题;
  • 筛选、清洗数据;
  • 分析数据;
  • 构建模型;
  • 得出结论;

EDA的过程与数据挖掘的流程不谋而合,特征是否起作用需要具体的分析和验证。从数据本身出发去寻找合适的特征。

在数据竞赛中,使用EDA完成数据分析的过程如下:

  • 读取并分析数据质量;
  • 探索性分析每个变量;
    • 变量是什么类型;
    • 变量是否有缺失值;
    • 变量是否有异常值;
    • 变量是否有重复值;
    • 变量是否均匀;
    • 变量是否需要转换;
  • 探索性分析变量与target标签的关系;
    • 变量与标签是否存在相关性;
    • 变量与标签是否存在业务逻辑;
  • 探索性分析变量之间的关系;
    • 连续型变量与连续型变量;
      • 可视化:散点图、相关性热力图;
      • 皮尔逊系数;
      • 互信息;
    • 离散变量与离散变量;
      • 可视化:柱状图、饼图、分组表;
      • 卡方检验;
    • 检查变量之间的正态性;
      • 直方图;
      • 箱线图;
      • Quantile-Quantile (QQ图);

根据EDA我们可以得出以下结论:

  • 变量是否需要筛选、替换和清洗;
  • 变量是否需要转换;
  • 变量之间是否需要交叉;
  • 变量是否需要采样;

PART03 数据分析图表的选择

有很多同学都会遇到这个问题,拿到一个数据后不知道如何可视化,其实可以从下面的逻辑来选择可视化的图表:

  • 可视化目的:比较/趋势/组成/联系/分布;
  • 可视化变量类型:数值/日期/类别/经纬度;
  • 可视化维度:分布/趋势;

使用上面的逻辑,我们可以将图表选择总结为下图(点击图片,查看高清大图):

ac3b383535dbd313b55e24271f846cd0.png

PART04 总结

数据分析是一门技能,也是一个专业,更是一个职业发展前景。在学习数据分析的过程中还有很多细节,比如数据集的分布、Leak特征分析和模型特征重要性可视化,这些都是可以深入探讨的地方。

希望本文能对大家有所启发,原创不易,欢迎转发!

更多历史文章,欢迎阅读:

阿水:Kaggle知识点:Adversarial Validation​zhuanlan.zhihu.com
13b5701a5ba1f7240dc7ef2162a2f90d.png
阿水:Kaggle知识点:数据扩增方法​zhuanlan.zhihu.com
97b6ba9b0b46e9cb4417d03195be2777.png
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/230189
推荐阅读
相关标签
  

闽ICP备14008679号