Module 01 · Overview of Data Science Tools
Open Source Tools for Data Science - Part 1数据科学开源工具(第一部分)
欢迎来到“数据科学开源工具(第一部分)”。观看本视频后,您将能够:
- 列出开源数据管理工具。
- 列出开源数据集成与转换工具。
- 列出数据可视化工具。
- 列出用于模型构建、部署、监控和评估的工具。
- 列出用于代码和数据资产管理的工具。
开源数据管理工具
最广泛使用的开源数据管理工具包括:
- 关系型数据库 (Relational Databases)
- MySQL
- PostgreSQL
- NoSQL 数据库 (NoSQL Databases)
- MongoDB
- Apache CouchDB
- Apache Cassandra
- 文件系统工具 (File System Tools)
- Hadoop File System
- 云文件系统,例如 Ceph
- 文本存储与搜索工具
- Elasticsearch:用于存储文本数据,包括创建搜索索引以实现快速文档检索。
开源数据集成与转换工具
在经典数据仓库领域,数据集成和转换的任务是 提取、转换和加载(ETL)。数据科学家通常提出 提取、加载、转换(ELT),因为数据首先被转储,然后由数据工程师或数据科学家处理数据转换。这个过程也衍生出了另一个术语:数据精炼与清洗(Data Refinery and Cleansing)。
最广泛使用的开源数据集成和转换工具包括:
- Apache AirFlow:最初由 Airbnb 创建。
- KubeFlow:允许在 Kubernetes 之上执行数据科学流水线。
- Apache Kafka:起源于 LinkedIn。
- Apache NiFi:提供非常优秀的可视化编辑器。
- Apache SparkSQL:允许使用 ANSI SQL,并可扩展到数千个节点的计算集群。
- Node-RED:也提供可视化编辑器,且资源消耗极低,甚至可以在 Raspberry Pi 等微小设备上运行。

开源数据可视化工具
在数据可视化工具中,必须区分需要编写代码的编程库和包含用户界面的工具。
| 工具名称 | 类型/特点 |
|---|---|
| Pixie Dust | 库,但带有用户界面,方便在 Python 中绘图。 |
| Hue | 可从 SQL 查询创建可视化,使用类似的方法。 |
| Kibana | 数据探索和可视化 Web 应用程序,受限于 Elasticsearch(数据提供者)。 |
| Apache Superset | 数据探索和可视化 Web 应用程序。 |
开源模型工具
模型部署 (Model Deployment)
模型部署是一个关键步骤。一旦创建了能够预测未来关键方面的机器学习模型,就应该使其可供其他开发人员使用并将其转化为 API。

| 工具名称 | 特点 |
|---|---|
| Apache PredictionIO | 目前只支持 Apache Spark ML 模型部署,但支持所有库已在路线图上。 |
| Seldon | 支持几乎所有框架,包括 TensorFlow、Apache SparkML、R 和 scikit-learn。可在 Kubernetes 和 Red Hat OpenShift 上运行。 |
| MLeap | 部署 SparkML 模型的另一种方式。 |
| TensorFlow Service | 用于服务任何 TensorFlow 模型。 |
| TensorFlow Lite | 用于嵌入式设备(如 Raspberry Pi 或智能手机)。 |
| TensorFlow.js | 部署到 Web 浏览器。 |
模型监控与评估 (Model Monitoring and Assessment)
模型部署后,需要跟踪其预测性能,以便在新数据到达时维护过时的模型。
- ModelDB:一个机器模型元数据库,用于存储和查询模型的元信息。原生支持 Apache Spark ML Pipelines 和 scikit-learn。
- Prometheus:一个通用的、多用途工具,尽管并非专为机器学习模型监控而设计,但也广泛用于此目的。
- 模型偏见缓解:模型的性能衡量标准不仅仅是准确性。针对受保护群体(如性别或种族)的模型偏见同样重要。
- IBM AI Fairness 360:开源工具包,用于检测和减轻机器学习模型中的偏见。
- 对抗性鲁棒性:这些模型(尤其是基于神经网络的深度学习模型)可能遭受对抗性攻击,攻击者试图通过操纵数据或控制模型来误导它。
- IBM Adversarial Robustness 360 Toolbox:检测针对对抗性攻击的漏洞,并使模型更加鲁棒。
- 模型可解释性:机器学习模型通常被视为应用了某种“魔法”的黑箱。
- IBM AI Explainability 360:该工具包通过在数据集中寻找相似的示例,呈现给最终用户进行手动比较,来解决这个问题。它还可以训练一个更简单的机器学习模型,以解释不同输入变量对模型最终决策的贡献。

开源代码和数据资产管理工具
代码资产管理 (Code Asset Management)
代码资产管理,也称为版本管理或版本控制,其工具选择已变得相当简单。
- Git:现在是代码资产管理的事实标准。
- 围绕 Git 出现了一些服务:
- GitHub:最突出的服务。
- GitLab:位居第二,优势在于平台完全开源,可以自行托管和管理。
- Bitbucket

数据资产管理 (Data Asset Management)
数据资产管理,也称为数据治理或数据沿袭,是企业级数据科学的关键部分。数据必须进行版本控制并用元数据进行注释。
| 工具名称 | 特点 |
|---|---|
| Apache Atlas | 支持数据资产管理任务的工具。 |
| ODPi Egeria | 一个由 Linux 基金会管理的开放生态系统,提供一套开放的 API、类型和交换协议,供元数据存储库共享和交换数据。 |
| Kylo | 一个开源数据管理软件平台,对数据资产管理任务提供广泛支持。 |

总结回顾
在本视频中,您学到了:
- 数据管理工具 是:MySQL、PostgreSQL、MongoDB、Apache CouchDB、Apache Cassandra、Hadoop File System、Ceph 和 Elasticsearch。
- 数据集成与转换工具 是:Apache AirFlow、KubeFlow、Apache Kafka、Apache NiFi、Apache SparkSQL 和 Node-RED。
- 数据可视化工具 是:Pixie Dust、Hue、Kibana 和 Apache Superset。
- 模型部署工具 是:Apache PredictionIO、Seldon、Kubernetes、Red Hat OpenShift、MLeap、TensorFlow Service、TensorFlow Lite 和 TensorFlow.js。
- 模型监控工具 是:ModelDB、Prometheus、IBM AI Fairness 360、IBM Adversarial Robustness 360 Toolbox 和 IBM AI Explainability 360。
- 代码资产管理工具 是:Git、GitHub、GitLab 和 Bitbucket。
- 数据资产管理工具 是:Apache Atlas、ODPi Egeria 和 Kylo。