1

一键自动化数据分析!快来看看这些宝藏工具库 - ShowMeAI

 1 year ago
source link: https://www.cnblogs.com/showmeai/p/16470885.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

一键自动化数据分析!快来看看这些宝藏工具库

d00aafd42529485f88181966e709c012~tplv-k3u1fbpfcp-zoom-1.image

实际工作中,我们往往依托于业务数据分析制定业务策略。这个过程需要频繁地进行数据分析和挖掘,发现模式规律。对于算法工程师而言,一个有效的 AI 算法系统落地,不仅仅是模型这么简单——数据才是最底层的驱动。

591891ef220240868a5508f5226bc6a8~tplv-k3u1fbpfcp-zoom-1.image

典型的『机器学习工作流程』包含 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年 最受欢迎的探索式数据分析工具库,快一起试起来吧!

63053dab671b431fa1e23474dab9d50a~tplv-k3u1fbpfcp-zoom-1.image

通常,我们有以下 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 工具等)。

99e37bf5c40041518837a8073516d8ae~tplv-k3u1fbpfcp-zoom-1.image

基于 Matplotlib 可以借助简单的代码实现:散点图、直方图、条形图、误差图和箱线图,辅助我们理解数据和进行后续工作。

93955dd711a341bb9865ec15d55c7678~tplv-k3u1fbpfcp-zoom-1.image

大家可以从官方 📘用户指南、📘教程 和 📘代码示例 中学习,或前往B站观看 📀视频教程 也推荐下载收藏 ShowMeAI 的 📜Matplotlib速查表,以便快速查找所需功能。

💡 Seaborn

另一个流行的 Python 数据可视化框架是 Seaborn,它相比 Matplotlib 更为简洁,也拓展了很多分析功能和呈现形式。

5410224ab52a4632b8f49163c7217700~tplv-k3u1fbpfcp-zoom-1.image

大家同样可以通过 Seaborn 的 📘用户指南和教程 对其进行学习,或前往观看 📀视频教程。也欢迎阅读 ShowMeAI 总结的 📜Seaborn速查表,以及 Seaborn 可视化教程 Seaborn工具与数据可视化

💡 Plotly

Plotly 是另外一个用于创建交互式数据可视化的 Python 开源工具库。 Plotly 构建在 Plotly JavaScript 库(plotly.js) 之上,可用于创建基于 Web 的数据可视化,这些可视化可以显示在 Jupyter 笔记本或使用 Dash 的 Web 应用程序中,或保存为单独的 HTML 文件。

34043a9ac61e42c9a9b51ae9acca3e81~tplv-k3u1fbpfcp-zoom-1.image

它提供了多达40+种图表类型,包括散点图、直方图、折线图、条形图、饼图、误差线、箱线图、多轴、迷你图、树状图和 3-D 图表(甚至包括等高线图,这在其他数据可视化库中并不常见)。大家可以通过 📘官方用户指南 进行学习和使用。

💡 Bokeh

Bokeh 是一个 Python 库,用于为现代 Web 浏览器创建交互式可视化。 它可以构建精美的图形,从简单的绘图到带有流数据集的复杂仪表板。 使用 Bokeh,可以创建基于 JavaScript 的可视化,而无需自己编写任何 JavaScript。

5689e0fab1104710b6e17240ea1aefd5~tplv-k3u1fbpfcp-zoom-1.image

大家可以通过 Bokeh 的 📘官方网站 和 📘示例库 了解它的一系列用法。也推荐大家下载收藏 ShowMeAI 的 📜Bokeh速查表,快速查找所需功能。

💡 Altair

Altair 是 Python 的声明性统计可视化库,基于 Vega 和 Vega-Lite。 Altair 的 API 简单、友好,可以用最少的代码产生漂亮而有效的可视化效果。大家可以通过官方的 📘Altair Notebook Examples 学习Altair工具库的使用。

10b55a55c0d44bc387426ffe2be4e85d~tplv-k3u1fbpfcp-zoom-1.image

方式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"))
e782e9e9f5a04028961279157104d8e0~tplv-k3u1fbpfcp-zoom-1.image

💡 Sweetviz

Sweetviz 的功能与 pandas-profiling 很相似。 它是一个开源 Python 库,可生成精美的高信息量结果报告,只需两行代码即可启动探索性数据分析过程。 输出是一个完全独立的 HTML 报告(而且可以完整交互式操作)。

Sweetviz的特征

  • 目标字段分析
  • 显示目标列与其他特征的关联分析
  • 可视化和对比

SweetViz的官方代码可以在 📘GitHub 找到。分析与报告生成只需要如下 2 行代码:

# 数据分析my_report = sv.analyze(data)# 报告生成my_report.show_html()

下图为使用 Sweetviz 生成的报告。

fef707d158bb4b2ea3241e1e5e8da4d9~tplv-k3u1fbpfcp-zoom-1.image

💡 AutoViz

AutoViz 是另外 1 个自动化 EDA 框架。 它在功能方面与 Sweetviz 和 pandas-profiling 也比较类似。 AutoViz 只需一行代码即可对任何数据集进行自动可视化,它还可以完成自动字段选择,找到最重要的特征字段进行分析可视化,运行速度也非常快。

AutoViz可以结合Bokeh做交互式数据探索分析,详细教程大家可以在官方 📘AutoViz 示例 Notebook 找到。核心代码如下:

AV = AutoViz_Class()_ = AV . AutoViz(filename)

下图所示为使用 AutoViz 生成的报告。

ebfec01c0d7f4dbf93ca18cdf10d83e5~tplv-k3u1fbpfcp-zoom-1.image

方式3:数据分析工具软件

💡 Microsoft Power BI

Power BI 是由 Microsoft 开发的交互式数据可视化软件,主要关注商业智能。 它是 Microsoft Power Platform 的一部分。 Power BI 是软件服务、应用程序和连接器的集合,它们协同工作,将不相关的数据源转变为连贯、视觉沉浸式和交互式见解。 可以通过直接从数据库、网页或电子表格、CSV、XML 和 JSON 等结构化文件中读取数据来输入数据。

不过,Power BI 不是开源的,它是一款付费企业工具,提供免费桌面版本。 大家可以从 📘官方学习指南 学习 Power BI。

3cbeb1939b274999890ce1ec877938fd~tplv-k3u1fbpfcp-zoom-1.image

💡 Tableau

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

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

d3147d4d6d694502962a69d7f45374b4~tplv-k3u1fbpfcp-zoom-1.image

25d29239c8c74324ab86336d55c7b727~tplv-k3u1fbpfcp-zoom-1.image

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK