Skip to content

Latest commit

 

History

History
74 lines (38 loc) · 7.95 KB

data-science-data-architecture.md

File metadata and controls

74 lines (38 loc) · 7.95 KB

数据科学数据架构

原文:www.kdnuggets.com/2015/09/data-science-data-architecture.html/2

数据流

图 2 展示了分析应用的数据流。图片的左侧描述了数据库,右侧描述了分析堆栈:红点表示调度实例,蓝点表示实际分析过程。顶部部分“Dev”表示模型开发环境,而下部框“Prod”表示模型生产环境。


我们的前三大课程推荐

1. 谷歌网络安全证书 - 快速进入网络安全职业轨道。

2. 谷歌数据分析专业证书 - 提升你的数据分析技能

3. 谷歌 IT 支持专业证书 - 支持你的组织的 IT 工作


在模型开发环境中,数据库被分为三个部分(或模式):

  • 一个暂存区(或对数据科学家而言)只读环境,其中 IT 可以提供数据。为了确保没有混淆已交付的内容(从质量和数量的角度),此区域必须为只读。

  • 数据科学的游乐场(或沙盒)。这是一个免费的区域,用于模型实验,回答临时问题,并开发报告和见解。

  • 模型开发环境的下部表示预生产阶段。这是一个数据科学家与 IT 部门密切合作的区域。数据科学家和 IT 操作员的讨论围绕模型的交接过程展开。此外,IT 操作员需要了解模型的数据需求,并为模型准备操作环境。模型交接给操作团队需要配备审计结构。

下面描述的数据流支持数据科学家的完整工作流程:从临时报告到支持多个部门的模型。如前所述,流程从数据在只读(暂存)区域中可用开始。这里的数据是首次交付(数据科学家天生好奇,总是寻找新的数据源)和定期安排的数据交付(例如,每月的新客户、使用情况、交易等)的混合。最初,数据以原始形式到达,并被以这种形式进行探索。IT 和数据科学家之间的进一步合作可能会导致对某些数据聚合或选择的请求。定期数据交付由计划任务拾取,为数据科学数据集市准备数据。理想情况下,这是一个基于变更历史的数据集市,包含回答 90%临时问题的数据,并能够生成建模数据。另一种选择是存储每月快照,但这使得基于时间的选择和模型变得更加困难。请注意,演示环境旨在包含转换后的暂存区域数据,而不是原始数据的副本。此外,演示环境应理想上包含来自暂存区域的数据,以防止无法复制的模型。

从数据集市中,数据科学家创建两种类型的数据用于建模:分析数据和操作数据。分析数据指的是用于构建模型的数据。它是历史数据,并且在训练/测试/验证中被适当地拆分。操作数据指的是进行评分所需的数据。请注意,由于演示环境仅包含历史数据,因此操作数据仅指数据的格式,而不是其时效性。这一点非常重要,因为我遇到过多次情况,数据科学家以为需要最新的数据才能对模型进行评分(在开发环境中)。这给 IT 部门带来了不合理的压力,要求在开发环境中以高频率提供数据,并且未能将模型开发与模型生产分开所带来的所有不利后果。

一旦模型构建完成,即经过训练、测试、验证并确认在操作数据上得分,模型可以进入预生产阶段。与其将其作为一个独立的环境,不如在开发环境中专门保留一个区域。就模型存储而言,它可以是模型库中的一个文件夹;就数据库而言,最佳实践是不允许数据科学家创建所需的表,而是将表创建语句提供给 IT 部门,以便讨论命名规范等。IT 部门创建表之后,数据科学家可以将操作测试数据插入表中,以展示模型在预生产中的得分。这一点很重要,以便识别任何被忽视的依赖关系。

为了让模型在生产环境中运行,IT 部门需要在生产环境中提供操作数据。这有两个途径。首先,由于 IT 部门确切知道他们放置在只读暂存区中的内容,他们可以将其提供到生产环境中。模型的数据准备工作就交给数据科学家,他们作为模型评分作业的一部分完成这项工作。当向 IT 部门解释这个场景时,他们通常希望接管,并使用他们首选的 ETL 工具提供模型所需的确切数据。数据科学家则负责以 IT 部门可以重建的方式记录数据转换。通常这并非易事,因为数据科学家会提出非常有创意的数据转换方法,这可能难以在 ETL 工具中归档。实际上,这通常是选择折中之路:IT 部门提供半成品数据,数据科学工作流完成其余部分,然后进行模型评分。

最佳实践是不要让数据科学家将模型迁移到生产环境中。可以由具有强 IT 背景和对 IT 政策了解的某位数据科学团队成员担任 IT-数据科学联络员,并协助迁移工作。

数据科学需要 IT 部门和数据科学家之间的紧密互动。这是一个自下而上的过程,并且是敏捷的。这意味着,在进行分析之前,不能将其写成需要逐字遵循的规范列表。通常,数据科学家会先调查数据样本,并结合对业务的理解,然后确定模型构建和数据交付的需求。这是一个迭代的过程,随着洞察的深入,会出现新的或修改的数据需求。一个理解这一过程并能够参与其中的 IT 部门,可以极大地促进数据科学的成功及其对业务的提升。

总结性评论

文章讨论了 IT 架构如何支持数据科学家的工作流程。我发现这种架构适用于许多将数据科学作为非核心业务的公司(如金融机构、零售业、电信业和制造业等行业,而不是专注于深度学习的公司)。我也意识到技术的迅速变化,例如用 Hadoop 等替代传统数据库。在这些情况下,我发现,在训练环境中对数据库建模(或至少将数据库作为模型开发环境的一部分)往往提供了最大的灵活性。数据科学的价值来自于能够操作数据以确定分析的下一步。任何能够增强这种能力的架构都将导致数据科学的更好结果,从而促进更好的决策制定。

原文

简历: Olav Laudy 是 IBM Analytics 亚太区首席数据科学家。

相关:

  • 数据需求层级

  • 自动统计学家及数据科学所渴望的自动化

  • 数据科学的尴尬真相

更多相关话题