Coursera 笔记

Module 01 · Overview of Data Science Tools

Open Source Tools for Data Science - Part 1数据科学开源工具(第一部分)

Coursera ↗

欢迎来到“数据科学开源工具(第一部分)”。观看本视频后,您将能够:

  • 列出开源数据管理工具。
  • 列出开源数据集成与转换工具。
  • 列出数据可视化工具。
  • 列出用于模型构建、部署、监控和评估的工具。
  • 列出用于代码和数据资产管理的工具。

开源数据管理工具

最广泛使用的开源数据管理工具包括:

  • 关系型数据库 (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。