Visualizations for machine learning datasets
引言
Facets 项目包含两种用于理解和分析机器学习数据集的可视化工具:Facets Overview 和 Facets Dive。
这两种可视化工具作为 Polymer 网络组件实现,由 Typescript 代码支持,可以轻松嵌入到 Jupyter 笔记本或网页中。
您可以在 Facets 项目描述页面 上找到这些可视化的实时演示。
Facets Overview
![UCI 人口数据概览可视化 - Lichman, M. (2013). UCI 机器学习仓库 [http://archive.ics.uci.edu/ml/datasets/Census+Income]. 加利福尼亚州欧文:加州大学,信息与计算机科学学院 UCI 人口数据概览可视化](https://raw.gitcode.com/gh_mirrors/fa/facets/files/master/img/overview-census.png)
Overview 提供了一个或多个数据集的高层次视图。它生成了一种视觉特征统计分析,并可用于比较两个或多个数据集之间的统计数据。该工具可以处理数字和字符串特征,包括每个特征多个数字或字符串的实例。
Overview 可以帮助发现数据集中的问题,包括以下内容:
- 意外的特征值
- 大量示例中缺失的特征值
- 训练/服务倾斜
- 训练/测试/验证集倾斜
可视化的关键方面包括异常值检测和多数据集间的分布比较。 有趣的价值(例如,大量缺失数据或多个数据集中特征分布的差异)将以红色突出显示。 可以通过感兴趣的价值(如缺失值的数量或不同数据集之间的倾斜)对特征进行排序。
用于生成可视化统计的 Python 代码可以通过 pip install facets-overview 安装。
从版本 1.1.0 开始,facets-overview 包需要 protobuf 版本 3.20.0 或更高版本。
关于 Overview 用法的详细信息可以在其 README 中找到。
Facets Dive
![UCI 人口数据深入可视化 - Lichman, M. (2013). UCI 机器学习仓库 [http://archive.ics.uci.edu/ml/datasets/Census+Income]. 加利福尼亚州欧文:加州大学,信息与计算机科学学院 UCI 人口数据深入可视化](https://raw.gitcode.com/gh_mirrors/fa/facets/files/master/img/dive-census.png)
Dive 是一个用于交互式探索多达数万维数据点的工具,使用户能够无缝切换到高层次概览和低层次细节。 每个示例在可视化中表示为单一项目,通过特征值在多个维度上进行分面/装箱定位。结合平滑动画和缩放以及分面和过滤,Dive 使得在复杂数据集中发现模式和异常值变得容易。
关于 Dive 用法的详细信息可以在其 README 中找到。
安装
在 Google Colabratory/Jupyter 笔记本中的使用
在 Google Colabratory 和 Jupyter 笔记本中使用 Facets 可以在 这个笔记本 中看到。这些笔记本无需先下载/安装此存储库即可运行。
这两种 Facets 可视化工具都利用了 HTML 导入。因此,为了使用它们,您必须首先加载相应的 polyfill,通过 <script src="https://cdnjs.cloudflare.com/ajax/libs/webcomponentsjs/1.3.3/webcomponents-lite.js"></script>,如本存储库中演示笔记本所示。
请注意,在 Jupyter 笔记本中使用 Facets Overview 时,需要考虑以下两点:
- 在笔记本中,您需要更改 Facets Overview Python 代码的加载路径,以便从运行笔记本内核的正确路径加载。
- 您还必须安装 Protocol Buffers Python 运行时库:https://github.com/google/protobuf/tree/master/python。如果您使用 pip 或 anaconda 安装了 Jupyter,可以使用相同的工具安装运行时库。
在 Jupyter 笔记本中查看 Dive 的大量数据时,如 Dive 演示 Jupyter 笔记本 所示,您需要以增加的 IOPub 数据率启动笔记本服务器。
这可以通过命令 jupyter notebook --NotebookApp.iopub_data_rate_limit=10000000 来完成。
代码安装
git clone https://github.com/PAIR-code/facets
cd facets
构建可视化组件
如果您对可视化组件的代码进行了修改,并希望重新构建它们,请按照以下步骤操作:
- 安装 bazel:https://bazel.build/
- 构建可视化组件:
bazel build facets:facets_jupyter(从 facets 的顶层目录执行)
在 Jupyter 笔记本中使用重建的可视化组件
如果您想在 Jupyter 笔记本中使用本地构建的可视化组件,请按照以下步骤操作:
- 将构建步骤生成的 vulcanized html 文件移动到 facets-dist 目录:
cp -f bazel-bin/facets/facets-jupyter.html facets-dist/ - 将可视化组件作为 nbextension 安装到 Jupyter 中。
- 如果 Jupyter 是通过 pip 安装的,您可以使用
jupyter nbextension install facets-dist/(如果 Jupyter 是系统范围内安装的)或者jupyter nbextension install facets-dist/ --user(如果按用户安装)(从 facets 的顶层目录执行)。对于这个扩展,您无需运行任何后续的jupyter nbextension enable命令。- 或者,您可以手动安装 nbextension,方法是找到 Jupyter 安装目录下的
share/jupyter/nbextensions文件夹,然后将 facets-dist 目录复制到其中。
- 或者,您可以手动安装 nbextension,方法是找到 Jupyter 安装目录下的
- 在笔记本单元格中加载构建的 facets html 的 HTML 链接标签中,从上一步骤安装的本地 facets 分发中加载
/nbextensions/facets-dist/facets-jupyter.html。
已知问题
- Facets 可视化组件目前仅在 Chrome 浏览器中有效 - 问题 9。
免责声明:这不是官方的 Google 产品