💡 作者:韩信子@ShowMeAI
📘 数据分析◉技能晋升系列:http://www.showmeai.tech/tutorials/33
📘 数据分析实战系列:http://www.showmeai.tech/tutorials/40
📘 本文地址:http://www.showmeai.tech/article-detail/284
📢 申明:版权所有,转载请分割平台与作者并注明出处
📢 珍藏ShowMeAI查看更多精彩内容
理论工作中,咱们往往依靠于业务数据分析制订业务策略。这个过程须要频繁地进行数据分析和开掘,发现模式法则。对于算法工程师而言,一个无效的 AI 算法零碎落地,不仅仅是模型这么简略——数据才是最底层的驱动。
典型的『机器学习工作流程』蕴含 6 个关键步骤,其中『探索性数据分析(Exploratory Data Analysis, EDA) 』是至关重要的一步。
- 定义问题
- 数据采集和 ETL
- 探索性数据分析
- 数据筹备
- 建模(模型训练和抉择)
- 部署和监控
Wiki: In statistics, exploratory data analysis is an approach of analyzing data sets to summarize their main characteristics, often using statistical graphics and other data visualization methods. A statistical model can be used or not, but primarily EDA is for seeing what the data can tell us beyond the formal modeling and thereby contrasts traditional hypothesis testing.
探索性数据分析,通常应用统计图形等数据可视化办法,摸索数据的构造和法则,总结数据次要特色的办法。这一过程通常蕴含细碎的解决步骤和剖析操作。
探索性数据分析 EDA 的常用工具
优良的工具能够简化上述过程!甚至能够一键生成剖析报告。本篇 ShowMeAI 给大家总结了截至 2022年 最受欢迎的摸索式数据分析工具库,快一起试起来吧!
通常,咱们有以下 3 种形式进行 EDA:
- 形式1:在 Python/R 中应用库/框架手动剖析
- 形式2:在 Python/R 中应用自动化 EDA 库
- 形式3:应用 Microsoft Power BI 或 Tableau 等工具
3种形式对应的最佳工具库咱们梳理到下文中了,对自动化数据分析感兴趣的同学能够间接跳至『自动化EDA工具库』板块。
形式1:手动剖析工具库
💡 Matplotlib
Matplotlib 是一个 Python 进行绘图与交互式可视化的工具。 大家在Python中用到的绝大多数工具包扩大都是构建在 Matplotlib 之上的(包含 Seaborn、HoloViews、ggplot 以及后续提到局部自动化 EDA 工具等)。
基于 Matplotlib 能够借助简略的代码实现:散点图、直方图、条形图、误差图和箱线图,辅助咱们了解数据和进行后续工作。
大家能够从官网 📘 用户指南、📘 教程 和 📘 代码示例 中学习,或返回B站观看 📘 视频教程 也举荐下载珍藏 ShowMeAI 的 📘 Matplotlib速查表,以便疾速查找所需性能。
💡 Seaborn
另一个风行的 Python 数据可视化框架是 Seaborn,它相比 Matplotlib 更为简洁,也拓展了很多剖析性能和出现模式。
大家同样能够通过 Seaborn 的 📘 用户指南和教程 对其进行学习,或返回观看 📘 视频教程。也欢送浏览 ShowMeAI 总结的 📘 Seaborn速查表,以及 Seaborn 可视化教程 Seaborn工具与数据可视化。
💡 Plotly
Plotly 是另外一个用于创立交互式数据可视化的 Python 开源工具库。 Plotly 构建在 Plotly JavaScript 库(plotly.js
) 之上,可用于创立基于 Web 的数据可视化,这些可视化能够显示在 Jupyter 笔记本或应用 Dash 的 Web 应用程序中,或保留为独自的 HTML 文件。
它提供了多达40+种图表类型,包含散点图、直方图、折线图、条形图、饼图、误差线、箱线图、多轴、迷你图、树状图和 3-D 图表(甚至包含等高线图,这在其余数据可视化库中并不常见)。大家能够通过 📘 官网用户指南 进行学习和应用。
💡 Bokeh
Bokeh 是一个 Python 库,用于为古代 Web 浏览器创立交互式可视化。 它能够构建精美的图形,从简略的绘图到带有流数据集的简单仪表板。 应用 Bokeh,能够创立基于 JavaScript 的可视化,而无需本人编写任何 JavaScript。
大家能够通过 Bokeh 的 📘 官方网站 和 📘 示例库 理解它的一系列用法。也举荐大家下载珍藏 ShowMeAI 的 📘 Bokeh速查表,疾速查找所需性能。
💡 Altair
Altair 是 Python 的申明性统计可视化库,基于 Vega 和 Vega-Lite。 Altair 的 API 简略、敌对,能够用起码的代码产生丑陋而无效的可视化成果。大家能够通过官网的 📘 Altair Notebook Examples 学习Altair工具库的应用。
形式2:自动化EDA工具库
💡 pandas-profiling
很多做过 Python 数据分析的同学都很相熟 Pandas 的 describe 函数,pandas-profiling 通过其低代码接口扩大了对应的性能,将信息以报告的模式出现。 pandas-profiling 库主动从 pandas DataFrame 生成配置文件报告,整个过程甚至只须要两三行代码。
pandas-profiling 会对单字段和关联字段进行剖析。对于数据集的每一列(字段),它会剖析如下的内容并出现在交互式 HTML 报告中:
- 类型推断:字段列的类型
- 要点:类型、惟一值、缺失值
- 分位数统计:包含最小值、Q1、中位数、Q3、最大值、范畴、四分位间距
- 描述性统计:包含均值、众数、标准差、总和、中值相对差、变异系数、峰度、偏度等
- 直方图:分类和数字
- 相关性:Spearman、Pearson 和 Kendall 矩阵
- 缺失值:矩阵、计数、热图和缺失值的树状图
- 文本剖析:理解文本数据的类别(大写、空格)、脚本(拉丁文、西里尔文)和块(ASCII)
- 文件和图像剖析:提取文件大小、创立日期和尺寸,并扫描截断的图像或蕴含 EXIF 信息的图像
大家能够在 pandas-profiling 的我的项目 📘 GitHub 页面获取具体应用办法,简略的数据分析与报告生成过程能够只通过如下1行命令生成(在命令行运行)。
pandas_profiling --title "Example Profiling Report" --config_file default.yaml data.csv report.html
或者在Python中通过如下几行代码实现:
# 读取数据
df = pd.read_csv(file_name)
# 数据分析
profile = ProfileReport(df, title="Data Report", explorative=True)
# html剖析报告生成
profile.to_file(Path("data_report.html"))
💡 Sweetviz
Sweetviz 的性能与 pandas-profiling 很类似。 它是一个开源 Python 库,可生成精美的高信息量后果报告,只需两行代码即可启动探索性数据分析过程。 输入是一个齐全独立的 HTML 报告(而且能够残缺交互式操作)。
Sweetviz的特色:
- 类型推断
- 摘要信息
- 指标字段剖析
- 显示指标列与其余特色的关联剖析
- 可视化和比照
SweetViz的官网代码能够在 📘 GitHub 找到。剖析与报告生成只须要如下 2 行代码:
# 数据分析
my_report = sv.analyze(data)
# 报告生成
my_report.show_html()
下图为应用 Sweetviz 生成的报告。
💡 AutoViz
AutoViz 是另外 1 个自动化 EDA 框架。 它在性能方面与 Sweetviz 和 pandas-profiling 也比拟相似。 AutoViz 只需一行代码即可对任何数据集进行主动可视化,它还能够实现主动字段抉择,找到最重要的特色字段进行剖析可视化,运行速度也十分快。
AutoViz能够联合Bokeh做交互式数据摸索剖析,具体教程大家能够在官网 📘 AutoViz 示例 Notebook 找到。外围代码如下:
AV = AutoViz_Class()
_ = AV . AutoViz(filename)
下图所示为应用 AutoViz 生成的报告。
形式3:数据分析工具软件
💡 Microsoft Power BI
Power BI 是由 Microsoft 开发的交互式数据可视化软件,次要关注商业智能。 它是 Microsoft Power Platform 的一部分。 Power BI 是软件服务、应用程序和连接器的汇合,它们协同工作,将不相干的数据源转变为连贯、视觉沉迷式和交互式见解。 能够通过间接从数据库、网页或电子表格、CSV、XML 和 JSON 等结构化文件中读取数据来输出数据。
不过,Power BI 不是开源的,它是一款付费企业工具,提供收费桌面版本。 大家能够从 📘 官网学习指南 学习 Power BI。
💡 Tableau
Tableau 是用于数据分析和商业智能的当先数据可视化工具。 Gartner 的魔力象限将 Tableau 列为剖析和商业智能畛域的领导者。Tableau 是一种工具,它正在扭转咱们应用数据解决问题的形式——使人们和组织可能充分利用他们的数据。
下图所示为应用 Tableau 生成的报告。大家返回B站观看 📘 1小时速学视频教程。
参考资料
- 📘 Matplotlib 官网教程: https://matplotlib.org/stable/tutorials/index.html
- 📘 Matplotlib 常识速查表: http://www.showmeai.tech/article-detail/103
- 📘 Seaborn 数据可视化教程: http://www.showmeai.tech/article-detail/151
- 📘 Seaborn 常识速查表: http://www.showmeai.tech/article-detail/105
- 📘 Plotly 官网教程: https://plotly.com/python/getting-started/
- 📘 Bokeh 官网教程: http://docs.bokeh.org/en/latest/
- 📘 Bokeh 常识速查表: http://www.showmeai.tech/article-detail/104
- 📘 Altair Notebook Examples: https://github.com/altair-viz/altair_notebooks
- 📘 pandas-profilling 具体教程: https://github.com/ydataai/pandas-profiling
- 📘 SweetViz 官网代码: https://github.com/fbdesignpro/sweetviz
- 📘 AutoViz 示例: https://github.com/AutoViML/AutoViz/tree/master/Examples
- 📘 Power BI 官网学习指南: https://powerbi.microsoft.com/en-ca/learning/
发表回复