一键自动化数据分析!快来看看 2022 年最受欢迎的 Python 宝藏工具库! ⛵

简介: 探索性数据分析(EDA)在机器学习中至关重要!这些高效又绝美的宝藏库,快用起来——Matplotlib、Seaborn、Plotly、Bokeh、Altair、pandas-profiling、Sweetviz、AutoViz、Microsoft Power BI、Tableau!

💡 作者: 韩信子@ ShowMeAI
📘 数据分析◉技能提升系列https://www.showmeai.tech/tutorials/33
📘 数据分析实战系列https://www.showmeai.tech/tutorials/40
📘 本文地址https://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 不是开源的,它是一款付费企业工具,提供免费桌面版本。

💡 Tableau

Tableau 是用于数据分析和商业智能的领先数据可视化工具。 Gartner 的魔力象限将 Tableau 列为分析和商业智能领域的领导者。Tableau 是一种工具,它正在改变我们使用数据解决问题的方式——使人们和组织能够充分利用他们的数据。

下图所示为使用 Tableau 生成的报告。大家前往B站观看 📘 1小时速学视频教程

参考资料

e9190f41b8de4af38c8a1a0c96f0513b~tplv-k3u1fbpfcp-zoom-1.image

目录
相关文章
|
22天前
|
存储 人工智能 测试技术
如何使用LangChain的Python库结合DeepSeek进行多轮次对话?
本文介绍如何使用LangChain结合DeepSeek实现多轮对话,测开人员可借此自动生成测试用例,提升自动化测试效率。
224 125
如何使用LangChain的Python库结合DeepSeek进行多轮次对话?
|
15天前
|
监控 数据可视化 数据挖掘
Python Rich库使用指南:打造更美观的命令行应用
Rich库是Python的终端美化利器,支持彩色文本、智能表格、动态进度条和语法高亮,大幅提升命令行应用的可视化效果与用户体验。
66 0
|
25天前
|
存储 缓存 测试技术
理解Python装饰器:简化代码的强大工具
理解Python装饰器:简化代码的强大工具
|
2月前
|
程序员 测试技术 开发者
Python装饰器:简化代码的强大工具
Python装饰器:简化代码的强大工具
158 92
|
8天前
|
机器学习/深度学习 人工智能 测试技术
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
EdgeMark是一个面向嵌入式AI的自动化部署与基准测试系统,支持TensorFlow Lite Micro、Edge Impulse等主流工具,通过模块化架构实现模型生成、优化、转换与部署全流程自动化,并提供跨平台性能对比,助力开发者在资源受限设备上高效选择与部署AI模型。
101 9
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
|
14天前
|
机器学习/深度学习 编解码 Python
Python图片上采样工具 - RealESRGANer
Real-ESRGAN基于深度学习实现图像超分辨率放大,有效改善传统PIL缩放的模糊问题。支持多种模型版本,推荐使用魔搭社区提供的预训练模型,适用于将小图高质量放大至大图,放大倍率越低效果越佳。
|
16天前
|
Java 测试技术 API
自动化测试工具集成及实践
自动化测试用例的覆盖度及关键点最佳实践、自动化测试工具、集成方法、自动化脚本编写等(兼容多语言(Java、Python、Go、C++、C#等)、多框架(Spring、React、Vue等))
58 6
|
2月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
117 18
|
2月前
|
人工智能 供应链 数据可视化
工作流梳理工具实战教程:手把手教你绘制第一张自动化流程图
本文剖析了团队因流程混乱导致重复劳动和效率低下的问题,提出通过工作流梳理提升协作效率的解决方案。总结了流程梳理的六大核心需求,并深度测评了6款主流工具,国内有板栗看板那,国外有kiss flow结合团队规模与需求提供选型建议,助力企业高效落地流程优化。
|
16天前
|
安全 搜索推荐 机器人
风险规则引擎-RPA 作为自动化依赖业务决策流程的强大工具
机器人流程自动化(RPA)是一种通过软件“机器人”自动执行重复性任务的技术,能大幅提升工作效率。它适用于财务、电商等领域的标准化流程,如账单处理和退货管理。然而,RPA在复杂决策场景中存在局限,需结合决策模型(DMN)和业务规则管理系统(BRMS)实现流程与决策的协同自动化,从而增强灵活性与业务价值。

推荐镜像

更多