原文:zh.annas-archive.org/md5/622C4EC47FAAB3CE38900F0C3C942E11

译者:飞龙

协议:CC BY-NC-SA 4.0

第九章:企业数据科学

到目前为止,我们已经讨论了关于数据挖掘和机器学习的各种主题。大多数示例都是设计成任何使用标准计算机的人都能够运行它们并完成练习。在现实世界的情况下,数据集会比一般家庭使用中遇到的要大得多。

传统上,我们依赖于诸如 SQL Server、Oracle 等众所周知的数据库技术来进行组织数据仓库和数据管理。NoSQL 和基于 Hadoop 的解决方案的出现对这种操作模式产生了重大变化。尽管公司起初不情愿,但这些工具的普遍吸引力变得太大以至于无法忽视,今天,大多数,如果不是所有的大型组织都利用一个或多个非传统的当代解决方案来满足其企业数据需求。

此外,云计算的出现已经改变了大多数企业,内部数据中心正在迅速被基于云的基础设施所取代。云领域的主要市场领导者是亚马逊(亚马逊网络服务)、微软(Azure),在较小程度上是谷歌(谷歌计算引擎)。

数据仓库、数据科学和机器学习需求主要在这些平台上得到满足。

在本节中,我们将研究企业市场中流行的各种技术平台,它们的优势、用例和潜在的缺陷。此外,我们还将使用 AWS 完成一个教程,使用试用账户按需启动新实例。

在本章中,我们将涵盖以下主题:

  • 企业数据科学概述

  • 企业数据挖掘

  • 企业人工智能和机器学习

  • 企业基础设施

  • 其他考虑因素,如数据战略、治理和工具选择

  • 亚马逊网络服务教程

企业数据科学概述

数据科学在企业 IT 和分析方面是一个相对较新的话题。传统上,研究人员和分析师主要属于以下两类:

  • 使用复杂的计算语言和/或硬件进行专业任务的高度技术研究人员

  • 分析师可以使用诸如 Excel 和 BI 平台等工具来进行简单和复杂的数据分析

组织开始在 2000 年代末期研究大数据和更一般的数据科学平台。到 2013 年,Hadoop 和 NoSQL 平台等解决方案已经获得了巨大的动力。以下表格显示了数据科学的发展:

年份发展
1970 年代至 20 世纪 90 年代末广泛使用关系数据库管理系统。实体关系模型、结构化查询语言(SQL)和其他发展最终导致了 90 年代末数据库的快速扩张。
2000 年代初Y2K 的反高潮,尽管代价高昂,但并未发生,再加上互联网泡沫的破裂导致了停滞期。在数据库方面,或者更一般地说,数据挖掘平台,这意味着公司不再像关注新的创新那样,而是更关注保持业务的运行。

| 2005-2010 | 该行业缓慢复苏,但直到 2005 年才开始出现新的发展。一些值得注意的事件包括:

  • 2006 年:GoogleBigTable 论文发表

  • 2006 年:亚马逊网络服务云平台推出

  • 2007 年:亚马逊 Dynamo 论文发表

  • 2008 年:Facebook 开源 Cassandra

  • 2009 年:MongoDB 发布

  • 2009 年:Redis 发布

|

2010-20122010 年:NoSQL 会议和相关活动开始变得流行,NoSQL成为一个普遍接受的技术术语。与此同时,Hadoop 变得广泛流行,几乎所有主要公司开始实施与 Hadoop 相关的技术。2011 年:市场领导者开始采用大数据并制定大数据战略。大量声称大数据巨大潜力的文章和研究论文使其非常流行。麦肯锡发表了一篇关于大数据的论文,并称其为创新、竞争和生产力的下一个前沿。2012 年 10 月的《哈佛商业评论》刊登了一篇对数据科学家的非常积极的展望,这立即变得流行起来。
2013-2015大数据技术的增长导致了一个称为数据科学的概念的发展,这将焦点从仅仅是数据转移到了数据的价值。再加上机器学习的发展以及 R、Python 和其他面向数据科学的平台的流行,行业的关注重点转移到了从数据中获取洞察,而不仅仅是管理数据。机器学习成为了新的热门词汇。
2016-智能设备、可穿戴设备、AI 手机、自动驾驶汽车等创新解决方案的发展为现有的大数据和机器学习趋势增加了人工智能的新组成部分。制造商开始广泛宣传技术解决方案的智能能力,而不仅仅是机器学习能力。

实施大数据平台或者更一般地说,大数据倡议的责任通常由公司的 IT 或分析部门负责,如果这样的部门存在的话。

在对组织中的大数据和数据科学代表进行的一般调查中,我们观察到,在大多数情况下,首席信息官或首席数据/数字官负责企业大数据战略,如下图所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

尽管分析和 IT 团队发挥了重要作用,但毫不奇怪,最终责任被委托给了公司的 C 级管理层。

企业对大数据的投资也各不相同,大多数组织的投资额在 10 万到 100 万美元之间。对中大型组织的分析产生了预期的结果。然而,显而易见的是,几乎所有受访者至少在大数据方面进行了一些投资

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

大多数组织还报告了对高级分析的企业要求。这有助于获得所需的预算来实施和推进组织内的分析水平。

此外,对数据科学收入潜力的预测预测极大地帮助了向高级管理层论证,即适当的大数据投资对公司未来的增长至关重要。

当前,大数据和业务分析的收入已经呈指数级增长,超过 1500 亿美元,这给企业实施这种能力带来了巨大压力。

组织对大数据作为企业要求的认识和接受的另一个方面是对这种工具效用的文化认知。在对大型公司的 C 级管理层进行的调查中,大多数受访者表示他们的部门经理正在使用分析,但并不是所有部门都有统一的参与水平,如下图所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

此外,大数据在整个组织中的合作策略似乎也没有达到商业成功所需的程度。调查的受访者表示,合作,即分析倡议的跨职能部门协作,定义不够明确:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

虽然对一些问题的回答有所偏颇,其中一个类别占压倒性多数,但关于大数据和分析在组织中的挑战的反馈总体上有着广泛的一致意见。以下图表显示了调查中每个参与者对分析挑战的反馈:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

所有这些都导致企业中一个有趣但矛盾的分析困境。尽管大数据和分析的价值被广泛理解和接受,但在适当的方法上存在一种模糊感,如下图所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

企业分析成功的路线图

根据我们的经验,与数据仓库等既定术语相比,分析是一个相当新的术语,需要谨慎的方法,以确保即时成功和随后的倡议长期成功。

过早尝试通过大规模、高预算的参与来完成初始分析项目的项目,如果项目结果不如预期,可能会危及整个倡议。

此外,在这类项目中,结果措施并不明确定义。换句话说,衡量结果的价值是模糊的。有时,它也无法量化。这是因为分析倡议的成功带来的好处不仅仅是即时的货币或技术能力。成功的分析项目通常有助于增强高管对部门进行此类项目的信心,从而可能导致更大的努力。

与大数据分析相关的一般挑战如下:

  • 几乎每家公司都在投资大数据、机器学习和人工智能

  • 通常,公司都有一个企业命令

  • 找到合适的使用案例可能是具有挑战性的

  • 即使找到它们,结果可能是不确定的(这会引起共鸣吗,需要多长时间等)

  • 即使实现它们,是否已经确定了最佳目标可能是难以捉摸的(例如,当使用 HDFS 仅用于存储数据时)

现在,让我们看一些数据科学和分析倡议的一般指导原则

  • 与组织中的业务合作伙伴进行会议和一对一审查,审查他们的工作流程,并就分析和/或数据挖掘可以提供最大价值的地方征求反馈

  • 确定业务运营的具体方面是重要的,并与公司的收入流相关;一旦完成,使用案例将产生可衡量的影响

  • 使用案例不必是复杂的;它们可以是简单的任务,比如机器学习或数据挖掘

  • 直观,易于理解,可以向朋友和家人解释

  • 理想情况下,使用案例需要通过传统手段来完成今天的努力。解决方案不仅应该使一系列用户受益,而且还应该具有高管可见性

  • 确定低难度 - 高价值短期)与高难度 - 高价值长期)使用案例

  • 教育业务赞助商,分享想法,表现热情(就像一次长时间的面试)

  • 低难度 - 高价值得分早期胜利,创建最小可行解决方案,并在进一步增强使用解决方案之前让管理层接受(需要时间)

早期胜利作为一种催化剂,a)增强高管信心,b)也使得更容易证明预算,从而更容易转向高难度 - 高价值任务。

最后两点很重要,因为有必要确定低难度 - 高价值项目。这可能是对经验丰富的从业者来说看起来基本的任务,但对最终用户非常有价值。

一家大型企业组织中的分析团队的一位高管曾经说过,该年度最成功的项目是更改电子邮件报告的时间。将报告的发送时间从早上改为下午晚些时候。似乎在更改时间后,与报告的互动变得更加活跃。早上的日程安排往往非常忙碌,而另一方面,下午的报告为接收者提供了更轻松的时间来审阅报告。

一些 难度潜在价值很高的项目示例可能包括:

  • 通过组合开源工具和数据库,自动化业务组频繁进行的手动任务;例如,可以轻松使用组合开源工具和数据库自动化在 Excel 中创建的报告。

  • 使用编程脚本将手动股票分析转换为自动化版本。这可能涉及任务,如创建常规表、数据透视表和图表,这些都是在 Excel 中创建的,但可以转换为自动化流程。

  • 使用 R Shiny 为业务应用创建 Web 界面,并实施预测分析功能。

  • 将 IT 基础设施的某些部分迁移到云平台。这可能看起来违反直觉,特别是如果组织不习惯在云环境中工作。然而,管理云部署的简单性和便利性可能意味着总体拥有成本和运营开销的减少。

使用情况的最终选择将取决于各种因素,前面提到的情况旨在提供可能尝试的项目类型的大致概念,以及可能产生积极结果的工作流程。在下一节中,我们将查看行业中用于数据科学的一些特定软件和硬件解决方案。

企业中的数据科学解决方案

如前所述,一般来说,我们可以将数据科学大致分为两个主要部分:

  • 企业数据仓库和数据挖掘

  • 企业数据科学:机器学习、人工智能

在本节中,我们将分别查看每个,并讨论行业中用于提供这些功能的软件和硬件解决方案。

企业数据仓库和数据挖掘

今天,行业中有大量数据库可用,它们被宣传为能够运行复杂分析查询的 NoSQL 系统。它们中的大多数都具有典型 NoSQL 系统的一个或多个特性,如列式、内存、键值、面向文档、基于图形等。下一节将重点介绍今天使用的一些关键企业 NoSQL 系统。

传统数据仓库系统

传统数据仓库可能是一个误称,因为大多数传统系统也已经融合了 NoSQL 的核心概念。然而,在这种情况下,这个术语旨在指示在 NoSQL 系统出现之前就存在的数据库,并且还添加了使它们符合企业数据科学要求的功能。

Oracle Exadata、Exalytics 和 TimesTen

Oracle Exadata、Exalytics 和 Exalogic 属于 Oracle 的 Exa 产品系列。Exadata是 Oracle 的高性能工程化数据库平台,专为资源密集型查询而设计。一般来说,它预计将显着改善非 Exadata 系统的查询性能,并支持高级软件功能,如内存计算、独立行和基于列的过滤,以及其他硬件功能,如支持最新的存储设备,包括 NVMe,在内存容错等。

Exalytics是一个旨在主要用于BI工作负载的补充解决方案。Exa 产品系列被认为是工程系统,而不是设备。后者可能表示预设和预装的软件-硬件堆栈,而工程系统预计将支持更高级别的灵活性,以选择安装的组件,这些组件根据客户需求进行选择安装。在企业安装中常见的 Exalytics 的关键组件之一是OBIEEOracle Business Intelligence Enterprise Edition)。这是一个完整的 BI 套件,并且受益于名为Times Ten的基础内存数据库,这也是 Exalytics 生态系统的一部分。

业务用例:Oracle Exadata 用于 OLTP 事务工作负载,速度和性能至关重要。

另一方面,Exalytics 用于分析工作负载。集成的 OBIEE 界面与 TimesTen 一起提供了一个紧密耦合的分析环境。Oracle Exadata 也可以作为基于云的服务提供。

HP Vertica

HP 的 Vertica 是一个面向列的、大规模并行处理的数据库系统,具有诸如支持数据库机器学习和本地集成到开源系统(如 Apache Kafka 和 Apache Spark)等关键软件特性,并且通常部署在多节点硬件架构上。Vertica 支持流行的云环境,如亚马逊网络服务AWS)、Google 和 Azure。Vertica 支持标准的交互式 SQL 界面,因此可以轻松与大多数当代 BI 工具兼容。

有趣的是,HP Vertica 是少数几个也作为社区版提供的企业数据库之一。这意味着对于有兴趣尝试 Vertica(在其许可范围内)或者只是想更多了解该平台的用户,可以利用社区版,可以从 HP Vertica 的网站免费下载。

业务用例:与本节中指示的其他数据库类似,Vertica 包含几个显着特性,如数据库处理、并行处理能力等。Vertica 支持各种分析工作负载,并附带相关的商业许可费用(与所有其他商业数据库产品一样)。社区版的可用性,以及 HP 在大多数情况下愿意进行大规模部署的概念验证,为企业提供了充分的机会,以在做出决定之前尝试和测试具有公司特定用例的平台。

Teradata

Teradata 被广泛认为是企业数据库技术的领导者。它的数据库,也被称为同名,与其他竞争对手产品共享一些相同的特性。Teradata 的一些关键特性包括与许多开源解决方案的本地集成,如 R、RStudio、Jupyter 和 SAS;时间序列支持;内置的用于机器学习和人工智能的分析函数;支持各种数据类型,如 CSV、JSON 和文本,以及空间/时间数据。

分析平台,也被称为 Aster Analytics,可以作为社区版从aster-community.teradata.com/community/download下载。

传统上,Teradata 是作为设备解决方案提供的,即数据库和硬件都作为单个集成单元提供,但如今也可以使用 Teradata Everywhere 在云中使用 Teradata。该软件可以在混合架构(既在本地又在云中)以及在 AWS 和 Microsoft Azure 等公共云环境中部署。捆绑服务、基于订阅的服务以及即服务选项都是可用的。Teradata Intellicloud 是 Teradata 提供的基于订阅的云产品,其中包括 Teradata 生态系统中的几种产品在托管环境中。

业务用例:Teradata 是几十年来备受企业青睐的数据库,并且在大型组织中具有很强的信誉。近年来,Teradata 积极与开源系统(如 R、Jupyter 和其他产品)进行整合,使其更具吸引力,可以说有助于提高其知名度。Teradata 设备可能相对昂贵,并且与其他商业选项一样,需要适当的 POC 来评估其对组织特定用例的适用性。

IBM 数据仓库系统(前身为 Netezza 设备)

IBM Netezza 过去是作为单独的数据仓库设备销售的,在某种程度上类似于 Teradata 的营销方式。最近,Netezza 已被移至更广泛的 IBM 数据仓库系统分类下,更符合当代大数据管理非常大数据量的需求。IBM Pure Systems、PureSystems for Analytics 和 IBM Integrated Analytics System 是一些提供与 Netezza 基本相同功能的新解决方案,它们在一个集成的生态系统中提供。

集成分析环境包括嵌入式 Apache Spark 用于机器学习,Jupyter 笔记本用于数据科学工作负载,一个通用的 SQL 引擎,可连接到其他 NoSQL 和 Hadoop 实现,并支持在高性能架构上部署,可选择托管的云环境

业务用例:Netezza 一直受到那些传统上对 IBM 相关技术(如 DB2、AIX 和其他 IBM 产品)有很强依赖的公司的青睐。新的集成产品环境为现有 IBM 投资增加数据科学能力提供了机会。

PostgreSQL

在本节中,PostgreSQL 是一个有趣的选择,因为从技术上讲,PostgreSQL 没有单独的 NoSQL 版本,而是在最近的发布中添加了各种功能,为现有的 Postgres 实现增加了 NoSQL 功能。

PostgreSQL 的支持者正确指出,它是一种更古老、经过测试的技术,最早在 1990 年代中期发布。Postgres现在支持分层文档数据存储、JSON、键值存储(称为HStore)和分片,并包括各种编程语言的接口以及多样的数据源。换句话说,PostgreSQL 已经扩展以支持类似 NoSQL 的功能,同时保持其作为传统关系数据库管理系统的现有功能。

PostgreSQL 可作为功能齐全的开源产品使用。

业务用例:尽管本节中的大多数技术都可以通过商业许可获得(以获取其所有功能),但由于其开源特性,PostgreSQL 是尝试成熟数据库的一种非常具有成本效益的方式,而无需进行大额初始投资。它还可以作为尝试 NoSQL 功能的测试平台,例如在最终决定之前处理 JSON 数据。在任何情况下,PostgreSQL 都是一个强大的平台,可以支持企业需求。还有一些基于 PostgreSQL 构建的商业衍生产品,例如 Greenplum,也可以作为开源产品使用。

Greenplum

Greenplum Database®是建立在 PostgreSQL 之上的,并添加了许多重要的分析功能。这些功能包括创新的基于成本的查询优化器,与 Apache MADlib 的集成,以及行或列存储的选择。它具有流行编程语言(如 R、Python 和 Java)的本机接口,并支持大规模并行架构。可以免费从greenplum.org/download/下载 Greenplum。

业务用例Pivotal提供了具有全面支持的 Greenplum 商业发行版。Greenplum 非常成功,其中一个原因是它已经被证明在大型企业工作负载方面具有出色的性能。商业支持的可用性对于需要专门支持和服务级别协议(SLA)以保证关键业务运营的组织非常有益。

SAP Hana

SAP Hana 是 SAP 推出的一款列存储、内存数据库,支持 NoSQL 功能。Hana 支持多核并行操作、多租户,并且完全符合ACID,可以处理各种分析工作负载,包括预测建模、流式分析、时间序列分析以及空间、文本和基于图形的分析。您还可以在 SAP Hana 系统中管理基于 JSON 的非结构化数据。

Hana 还可以与其他 SAP 产品(如 SAP Fiori)原生配合使用,后者包括在人力资源、财务、会计和其他部门中使用的各种 SAP UX 应用程序。

业务用例:SAP 几十年来一直是企业组织的主力军,并且被用于各种应用,尤其是制造和财务/会计需求。SAP Hana 为现有的 SAP 安装增加了一个强大的高性能数据库。一般来说,由于企业级部署涉及高昂的成本,SAP 主要用于业务关键需求。对于依赖于 SAP 的大型组织来说,Hana 的好处可能会超过成本。此外,虽然 Hana 可以提供各种 NoSQL 功能,但公司可能会发现他们将基于预算、性能需求和其他因素最终使用两种或更多不同的解决方案。

企业和开源 NoSQL 数据库

前一节概述了一些已知的传统数据库/RDBMS 解决方案,这些解决方案已经增加了企业级 NoSQL 功能。接下来的部分将介绍一些特定于数据库解决方案的更为专业的业务用例。

kdb+

Kx Systems 的**kdb+**是高频交易和其他类似环境中使用了近 20 年的最快、最高效和最轻量级的数据库之一。它在金融领域之外的知名度要低得多,但可以说它是世界数据库领域中设计和优化效率最高的系统之一。

kdb+从一开始就支持内存列存储,技术上是q编程语言的扩展。kdb+中的表本质上是 q 语言中的数据结构。然而,与其他编程语言中类似概念不同,kdb+表是企业级的,可以轻松处理 TB 和 PB 级别的数据。

由于其固有的编程语言,用 q 编写的代码可以针对存储在 kdb+中的数据运行,因此可以非常轻松地在数据库中运行自定义函数

此外,kdb+二进制文件的大小约为 500 到 600KB,足够小,可以适应大多数现代 CPU 的 L3 缓存。

kdb+还包括内置的 MapReduce 功能,使查询可以自动在多核 CPU 上并行执行。

业务用例:Kdb+是企业设置中存在的最强大的数据库之一。传统上只能通过永久的基于核心的许可证获得,但最近,该公司已经增加了对基于订阅和按需许可的支持。其低占用空间和简单易用性使其非常适合企业需求。然而,这也带来了一个警告。q 语言非常简洁,对新用户可能显得晦涩。可以说,与其他语言相比,该语言的学习曲线略陡,并且需要实践和第一手经验。尽管如此,有丰富的在线资源可供学习和利用数据库的功能。用于 R、Python、C、Java 和其他编程语言的本机接口,以及用于机器学习的库,使其特别适合涉及大型数据集的数据科学工作负载。

尽管 kdb+不是开源产品,但通常可以免费个人使用:kx.com/download/

MongoDB

MongoDB是文档导向数据库领域的市场领导者,用于以 JSON 格式存储数据。它支持按需查询、索引和聚合,并且具有丰富的 Python、Java 和 JavaScript 等语言的接口。其他功能,如水平扩展和分片、高可用性、名为 Compass 的集成数据探索工具等,增加了数据库的现有功能。

业务用例:考虑用于存储非结构化或半结构化数据的数据库的公司可能会发现 MongoDB 的特性非常适合查询这些数据集。该数据库不需要在开始时定义固定的模式,使其灵活且可扩展,以支持添加到现有数据中的新属性。MongoDB 可从www.mongodb.com/download-center免费下载,并且还可以通过 MongoDB Atlas 作为托管和托管的云解决方案实施。还提供了支持诸如内存和加密存储等功能的企业版,可按订阅方式使用。

Cassandra

Cassandra是最成功和广泛使用的企业 NoSQL 系统之一。它结合了列式和键值概念,并将数据存储在基于行的分区中。每个分区又是一个主键。行可以有多个列,每行的列数可能不同。

Cassandra 数据库可以通过 CQL 进行查询,CQL 使用类似 SQL 的语法,使数据查询、保存和其他常见任务的过程更加简单。Cassandra 还使用分散式架构;它没有任何单点故障,并支持多节点架构。

除了 Cassandra DBMS 的标准水平可扩展性外,该平台还支持弹性可扩展性,并且能够根据需要透明地分配和取消分配节点。总的来说,Cassandra 是企业 NoSQL 系统中最强大的选择之一,并且在全球多个大型公司的生产环境中使用。

业务用例:Cassandra 是一个完全开源的解决方案,实现了 NoSQL 系统的多个关键特性。它在全球生产工作负载中被广泛使用,并已经发展成一个稳定、企业级的开源平台。换句话说,Cassandra 非常适合管理大型组织的需求,并且不会产生额外的许可成本。Datastax 也提供了商业、许可和付费版本的 Cassandra:www.datastax.com/products/datastax-enterprise。它被称为DSEDatastax Enterprise)。DSE 集成了各种企业功能,如安全性和搜索,并且还可以通过 Datastax 托管的云环境使用流行的云提供商如 AWS。

Neo4j

Neo4j是一种基于图形的数据库,用于建模不同实体之间的关系。该数据库使用图论中熟悉的概念来创建基于树的表示(具有节点和关系)的相互连接的主题。它最常与推荐引擎一起使用。在概念上,Neo4j 图数据库可以将个体表示为节点,这些节点通过它们的分离程度相互连接。这理论上允许最终用户追踪任意节点之间的分离程度或一个个体到另一个个体之间的分离程度。

Neo4j 平台提供了各种基于图形的表示,如加权、有向、单向和标记。

业务用例:需要进行深入的客户级或用户级分析的公司,如社交网络或推荐系统(如 Netflix),部署基于图形的数据库如 Neo4j 将获得巨大的好处。如今,该平台支持人工智能和机器学习、物联网、实时推荐等许多在企业中使用的有用特性。

尽管 Neo4j 可以作为开源软件从neo4j.com/download/?ref=hro下载,但也有一个商业许可版本,称为 Neo4j 企业版。

云数据库

云数据库,顾名思义,是指来自云供应商如亚马逊、谷歌和微软的数据仓库或数据库系统。

亚马逊 Redshift、Redshift Spectrum 和 Athena 数据库

最常用的基于云的数据仓库平台之一是亚马逊 Redshift。它是云生态系统中数据管理的最重要平台。它基于 PostgreSQL,主要用于分析工作负载。Redshift 具有高度可扩展性,并且相对于具有类似特性的本地数据库,需要的工作量明显较少。可以直接从 AWS 控制台部署(在注册 AWS 账户后)。可以通过 AWS 控制台无缝地添加或删除节点,以相应地增加或减少容量。

Redshift 的一个较新的版本称为Redshift Spectrum允许查询存储在亚马逊 S3 中的数据,这是 AWS 的标准存储层。这意味着用户可以直接查询存储在磁盘上的数据,而无需将其加载到 Redshift 特定的实例中。总体而言,Redshift 相对快速、价格低廉,更重要的是易于使用和部署。Redshift Spectrum 采用按查询付费模式——用户只需为执行的查询付费,每扫描一 TB 的数据收取一定费用。

Amazon Athena在许多方面类似于 Amazon Redshift Spectrum,因为它也用于查询存储在 S3 上的数据。然而,与 Amazon Redshift Spectrum 的功能不能在未购买 Amazon Redshift 的情况下使用不同,用户可以按需利用 Amazon Athena,并且无需预留任何额外的硬件。另一方面,因为 Amazon Redshift Spectrum 与 Redshift 生态系统紧密集成,用户可以在这两个解决方案中分配其工作负载。需要更快处理的数据可以保留在 Amazon Redshift 上,而较少使用/不太关键的数据可以存储在 S3 上,并使用 Redshift Spectrum 进行查询:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

您可以在aws.amazon.com/redshift/spectrum/了解更多关于 Amazon Redshift Spectrum 的信息。

谷歌 BigQuery 和其他云服务

谷歌 BigQuery类似于 Amazon Redshift,它也是一个完全基于云的大规模数据仓库系统。然而,Redshift 需要单独的配置(AWS 集群和 Redshift 资源),而谷歌 BigQuery 是同样的即插即用等效产品。要使用 BigQuery,用户只需在bigquery.cloud.google.com创建一个帐户,并在加载数据集后开始运行查询。

与 Redshift 相比,BigQuery 的计费方式也有很大不同。用户每月可以免费查询累计 1TB 的数据。BigQuery 采用按使用量付费的模式,查询具有分配的成本。实质上,BigQuery 抽象了设置数据库的复杂性,使最终用户能够专注于编写查询和/或执行分析,而无需设置基础架构。因此,扩展查询、分配资源以及可能需要手动干预的任务(例如由 DBA 执行)都变得多余。

谷歌云平台上还有一系列其他 NoSQL 产品,包括谷歌云数据存储,一个基于文档的 NoSQL 数据库;谷歌 BigTable;谷歌 Spanner;以及其他一些产品。以下图显示了谷歌 BigQuery 数据库:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Azure CosmosDB

Azure CosmosDB是微软的 NoSQL 云数据库之一。Azure 中的其他 NoSQL 系统包括表存储、Azure Redis 缓存等。CosmosDB 被认为是一种多模型数据库;它可以支持键值对、基于文档的查询、基于图形的模型,以及关系数据库查询。

传统的微软数据库,比如 SQL Server 也可以在 Azure 平台上作为完全托管和托管解决方案使用。您可以在azure.microsoft.com/en-in/services/cosmos-db/了解更多关于 Azure 平台的信息。以下图显示了微软 Azure 平台的解决方案窗口:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

GPU 数据库

GPU 数据库是近期发展的产物,随着用于数据科学相关任务(如机器学习)的图形处理单元卡的增长而出现。当查询可以并行化时,GPU 的工作效果最佳。这是因为 GPU 包含数千个核心。通过将每个核心委派给数据的一个小子集来工作,GPU 通常可以以令人印象深刻的快速速率进行计算,远远超过基于 CPU 的查询性能。

Brytlyt

Brytlyt是 GPU 数据库领域的新进入者。它配备了一个名为Spotlyt的可视化产品。早期测试表明 Brytlyt 超越了一些具有挑战性的基准。然而,它在其他用例中的泛化效果有待观察。

Brytlyt 在亚马逊 AWS 市场(aws.amazon.com/marketplace/pp/B074JZNSWZ?qid=1513342415797&sr=0-1&ref_=srh_res_product_title)上可供尝试。

MapD

MapD是早期开发商之一,开发了商用 GPU 数据库平台。与 Brytlyt 类似,它也展示了令人印象深刻的早期结果。然而,由于基于 GPU 的数据库仍处于早期阶段,流行的使用和采用最终将决定它们是否会成为企业中的常见现象。

基于 GPU 的数据库的主要挑战之一是需要正确配置基于 GPU 的系统。这可能需要专门的技能,因为使用 GPU 卡进行计算与使用 GPU 卡进行常见任务(如渲染图像)是完全不同的。因此,希望在采用正式版本之前尝试基于 GPU 的数据库的用户会发现,在 AWS 中利用预配置的镜像(AMI 镜像)更容易,这将需要最少的系统配置。

其他常见的数据库

还有其他各种类型的数据库,例如用于分析流数据的数据库(Amazon Kinesis),以及使用百度的专用加速卡处理数据的数据库。

企业数据科学 - 机器学习和人工智能

数据科学解决方案在过去的 4-5 年里迅速成熟,类似于数据科学其他领域的发展,如 NoSQL、Hadoop 和其他数据挖掘解决方案。尽管许多先前的数据库系统也包含了数据科学的关键特性,如机器学习等,但本节重点介绍了一些主要用于机器学习和/或人工智能的高级解决方案,而不是数据管理。

事实上,大数据产品和数据科学产品之间的区别变得模糊,因为最初用于大数据处理的产品已经融合了数据科学的关键特性,反之亦然。

R 编程语言

R,正如我们在之前的章节中所看到的,最初是为统计编程而设计的环境。它起源于新西兰大学的一个项目,Ross IhankaRobert Gentleman将 R 开发为 S 编程语言的一个变体,S 编程语言是由贝尔实验室的 John Chambers 开发的。尽管 R 最初是为统计编程而设计的,但在过去的 7 到 8 年里,它已经发展成为一个成熟的、多方面的语言,增强了对相关学科的支持,如机器学习、高性能计算、可视化、计量经济学、时间序列分析等。其中一些领域也在cran.r-project.org/web/views/上附有相关信息。

Revolution Analytics 提供了一个带有企业支持的 R 商业版本。2015 年,它被重新命名为Microsoft R Open(开源版本)和Microsoft R Server(商业版本)。

尽管以微软品牌推广,但请注意,Microsoft R 也适用于 Linux 和 Mac OS。

R 中流行的机器学习包括e1071randomForestgbmkernlabarules等。这些列在cran.r-project.org/web/views/MachineLearning.html上。另一个流行的包叫做 caret,它作为各种算法包的包装器,并提供了一个有用的统一接口,可以运行算法,而不必符合各个包的细微差别。

R 还通过multicoredoMC等包支持多核编程。这些列在cran.r-project.org/web/views/HighPerformanceComputing.html上。

Python

Python 中的scikit-learn包可以说是所有平台中最全面的机器学习包,其中包含了大量的机器学习算法。与 R 相比,它被认为速度更快,并且是各种企业组织的首选工具。以下截图显示了我们可以下载scikit-learn包的网页:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Python 的商业支持企业版本是Anaconda,它预先配置了有用的机器学习和数据挖掘包,可从 Continuum Analytics 获得。名为Anaconda Cloud的云版本允许新用户开始利用 Anaconda Python 的功能,而无需单独下载和安装它。

OpenCV、Caffe 等

图像识别是机器学习中更成功的领域之一。虽然大多数机器学习任务需要相对长的时间才能衡量和量化它们的真正好处,但图像识别是一个熟悉的主题领域,可以很容易地理解。实质上,它涉及识别对象并正确分类它们。它有多种应用,从识别车牌号码到人脸识别,可在移动设备和机器人中使用。

OpenCV 为各种图像识别任务提供了标准接口,并且还可以利用硬件加速功能来优化性能。

其他知名的用于图像处理的机器学习软件包括 Caffe、cuDNN、TensorFlow 等。请注意,这些包不仅限于简单的图像识别,还可以用于其他深度学习用例。

Spark

Spark 中的 MLlib 库提供了各种机器学习算法的正式实现,可在 Spark 平台中使用。pySpark 的可用性使得对具有 Python 编程知识的人来说更容易使用这些功能。如果组织已经有现有的 Spark 平台,值得探索 MLlib 中的机器学习能力。

以下截图为您提供了 MLlib 的简要概述:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

深度学习

具有多个隐藏层(通常超过两个)和/或节点的神经网络通常被归类为深度学习。机器学习的一些当代进步,如自动驾驶汽车,直接是深度学习在实际日常任务中的应用的结果。

有各种深度学习框架/包,一些著名的包括:

  • TensorFlow

  • cuDNN

  • Theano

  • Torch

  • 百度的 PaddlePaddle

H2O 和 Driverless AI

作为 Kaggle 竞赛的热门平台,H2O提供了一个大规模可扩展的实时机器学习界面,具有 R、Python、Spark 等的本地集成。可以免费从www.h2o.ai/h2o/下载。

Driverless AI是 H2O 产品线的最新成员。它旨在通过实现自动化界面来使机器学习对从业者更容易,该界面尝试通过自动方式创建模型并优化准确性,通过构建和评估多个模型来实现。以下截图显示了 H2O 平台的主页:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Datarobot

在概念上,Datarobot 与 H2O 的 Driverless AI 类似,它也尝试通过创建和评估多个模型来自动构建机器学习模型。

然而,与 H2O 不同,尽管它可能非常强大,Datarobot 需要支付许可费,对于较小的公司来说可能会很昂贵。

命令行工具

有多个机器学习工具可以在 Unix 命令行上执行。对于其中一些工具,R、Python 和其他语言已经存在接口,允许用户利用它们的功能,而无需从 Unix 终端使用它们。一些流行的命令行实用程序包括:

  • LIBSVM

  • LIBLINEAR

  • Vowpal Wabbit

  • MLPACK

  • libFM

Apache MADlib

Apache MADlib是一个鲜为人知但功能丰富的平台,旨在在数据库中执行分析和运行算法,也就是说,它可以在本地执行函数,而无需外部编程接口。它支持并行处理,并且可以与 Greenplum、PostgreSQL 等多个数据源无缝配合。

例如,可以通过简单运行 SQL 命令来创建一个 apriori 模型,如下所示,来自madlib.apache.org/docs/latest/group__grp__assoc__rules.html:

SELECT * FROM madlib.assoc_rules(.25,            -- Support 
                                  .5,             -- Confidence 
                                  'trans_id',     -- id col 
                                  'product',      -- Product col 
                                  'test_data',    -- Input data 
NULL,           -- Output schema 
                                  TRUE            -- Verbose output 
); 

有关 Apache MADlib 的更多信息(下面显示了网站的截图)可在madlib.apache.org.找到。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

机器学习即服务

与其他云资源集成的基于云的机器学习平台也在不断增加。一些知名的平台包括 AzureML、BigML、IBM Watson 等。

下面的截图来自 IBM Watson,这是一个最知名的机器学习和人工智能平台。该平台在 2011 年赢得 Jeopardy 冠军后声名鹊起[来源:www.techrepublic.com/article/ibm-watson-the-inside-story-of-how-the-jeopardy-winning-supercomputer-was-born-and-what-it-wants-to-do-next/]。当时,机器学习趋势处于萌芽阶段,Watson 是第一个让世界大吃一惊的 AI 技术之一。它证明了 AI 可以是强大和有能力的资产。今天,用户可以通过在该网站上注册账户来利用 IBM Watson 的一些相同的计算能力www.ibm.com/watson/

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

企业基础设施解决方案

正确的基础设施选择也在决定组织数据科学平台的效率方面发挥关键作用。太少的话,算法执行时间会太长;太多的话,可能会有很多资源闲置。因此,后者比太少更可取,因为太少会阻碍进展,影响任何机器学习研究人员有效执行任务的能力。

云计算

在过去的 5-7 年里,组织逐渐将资源转移到云平台,如 Amazon Web Services、Microsoft Azure 和 Google Compute Engine。今天,所有这些平台都包含非常复杂和广泛的架构,以支持企业级的机器学习、数据挖掘和一般数据科学,以满足各种规模组织的需求。

此外,images的概念,比如 Amazon 的 AWS 中的 AMI images,允许用户启动一个预先构建的 OS 快照,带有预安装的组件。因此,用户几乎可以完全避免在尝试新平台之前的设置开销。

Hadoop 和 map-reduce 操作在 AWS 中也得到了广泛支持。AWS 中的EMRElastic Map Reduce,以及 Azure 中的 HDInsight,是两个知名且非常受欢迎的大数据框架。

本章末尾的教程将演示如何设置 AWS 账户并开始使用一个示例 AMI Image。

虚拟化

虚拟化——在更大的主机内创建隔离的、自包含的环境的过程,使组织能够 consolodate 服务器并大幅减少数据中心的占地面积。例如,如果一个组织为他们的网站利用了六台服务器,其中有两台经常被利用,而其他的大部分时间负载较低,可能可以将所有服务器合并到一台或两台服务器上。在这方面,戴尔 EMC 的技术,如 VxBLOCK,是在物理数据中心中使用的知名企业虚拟化硬件。这也使公司能够创建自己的私有云基础设施。然而,这可能相当昂贵,并需要对成本效益比进行适当评估。

Openstack 是用于创建公共和私有云的开源软件。它是一个企业级生态系统,具有多种产品,可以在 Openstack 平台内无缝运行。有关 Openstack 的更多详细信息,请访问www.openstack.org:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

用户可能熟悉 Oracle Virtualbox,它本质上也是一种虚拟化软件,允许用户创建隔离的环境。这使用户可以在 Windows 中运行 Linux,反之亦然。

专门的软件或硬件,称为 hypervisors,用于管理和管理虚拟机。

容器——Docker、Kubernetes 和 Mesos

容器和虚拟化一样,创建了隔离的客户系统,但是,虚拟机创建了一个完全独立的环境,而容器与主机系统共享相同的内核,因此被认为更接近硬件。虚拟化和容器都因为在主机和客户操作系统之间的功能转换而产生性能损失。然而,总体而言,容器的性能水平更高,因为它们依赖并直接使用客户操作系统的特性,而不是创建一个单独的操作系统生态系统。

流行的容器包括 Docker、CoreOS 等。今天,容器主要用于大规模管理与网络相关的服务。容器可以根据需要更容易地启动和关闭,比虚拟机更容易,流行的云提供商已经为容器添加了专门的支持,使得用几行代码就可以轻松启动数千个容器来处理网络请求。像 Kubernetes 这样的编排软件提供了企业级的容器管理能力。此外,像 Mesos 这样的平台不仅提供了管理容器的支持,还增加了管理其他传统硬件的能力,用于应用感知调度和其他服务:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

本地硬件

最后,传统数据中心等本地硬件在现代计算中仍然有一席之地。使用物理数据中心,用户不必为基于云的服务支付重复费用。对于没有大量行政开销的中小型组织,或者不需要高性能/专门计算能力的组织来说,本地系统完全能够提供成本效益高、永久的解决方案。

像 ScaleMP 这样的公司提供用于高性能计算的专门硬件。这类硬件的消费者通常有无法由基于云的供应商提供的特定要求:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

下面总结了本地和基于云的系统之间的一些区别:

本地
拥有硬件租用硬件
需要全面维护维护由云托管提供商管理
需要 IT 资源来管理计算硬件资源在管理计算硬件资源方面的开销要少得多,因为可以根据需求在云中添加
对于中小规模环境来说成本效益高,没有或很低的数据中心运营成本对于希望简化数据中心运营成本的大型组织来说成本效益高
使用硬件没有重复成本,除了管理它们所需的资源使用硬件有重复成本;使用订阅模式定价
主要是静态架构;Hadoop 的新需求将需要完整的新购买范围极其灵活;公司可以根据需求提供数千台服务器,运行多个操作系统
得到组织、法律和相关部门的欢迎面临障碍,特别是来自法律部门,因为管理被委托给第三方/云托管提供商

企业大数据

大型组织中大数据实施的整体策略取决于组织的特定需求。今天,在大数据、数据科学、机器学习以及最近的人工智能提供商之间有数百种选择。

因此,在大型组织中实施大数据时有两个主要考虑因素:

  • 技术:选择适当的软件和硬件堆栈

  • 运营:管理组织数据,制定正式的数据治理策略,创建适当的数据管理框架

除此之外,招聘合适的人才,可能为公司的大数据/数据科学实施创建明确定义的角色也是额外但同样重要的任务。

在制定这样一个策略时,一些关键问题包括:

  • 软件/硬件许可是基于大小还是核心?如果基于数据大小,我的数据大小增加了,我的 3 年/5 年成本将是多少?

  • 解决方案是否有企业支持?

  • 我们是否需要聘请外部资源?

  • 新的能力将回答哪些业务问题?

  • 我们是否进行了短期和长期的成本效益分析?

  • 新解决方案可以回答组织目前未满足的需求是什么?

  • 解决方案是否具有足够的可扩展性,以满足我未来潜在的需求?

在技术需求方面,尽管市场上有许多解决方案,但在实践中进行使用真实数据的测试或概念验证是非常重要的。发现声称具有重大能力但未达到期望的解决方案并不罕见。换句话说,收集彻底的实证结果至关重要,不要仅仅基于营销宣传而购买。

最后,由于大数据/数据科学不断发展,解决方案的长期可扩展性和适应性需要得到适当评估。应考虑基于云的选项,因为它提供了一种有效的方式来轻松、经济地访问和使用新兴解决方案。

教程 - 在云中使用 RStudio

以下教程将演示如何在AWS(亚马逊云服务)上创建帐户,加载 RStudio 的 AMI 镜像,然后使用 RStudio,全部免费。有经验的云平台用户可能会觉得这些说明非常基础。对其他用户来说,教程应该提供有关使用 AWS 的有用初始指导。

在继续之前,请阅读下面的警告信息。

警告:请注意,AWS 需要信用卡进行注册。用户必须小心,只选择免费层级的选项。AWS 协议允许亚马逊对已产生的费用进行计费。因此,用户应该谨慎使用平台,以避免因未关闭的服务器或服务而产生潜在昂贵的意外费用**。**

截至目前,Azure 和 Google Cloud 提供了用户注册的规定,以避免意外收费。但是,AWS 在所有云供应商中市场份额最高,用户在大多数工作场所可能会遇到 AWS。因此,本教程重点介绍 AWS 而不是其他选择。

教程结束时还提供了如何关闭您的帐户的说明,如果您希望停止使用 AWS(从而也防止任何费用):

  1. 转到aws.amazon.com/,然后单击右上角的Create an AWS Account按钮:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. AWS 账户通常包括 12 个月的初始免费使用。输入您的信息,然后单击继续:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 选择您的账户类型(例如个人),然后输入您的联系信息:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 输入付款信息。AWS 要求注册时使用信用卡。请注意,用户必须非常小心和审慎地使用 AWS 资源,以确保没有意外的费用:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 一旦付款信息已验证,您将收到确认:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 选择基本计划(免费):

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

选择基本计划后的确认页面如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 使用您的凭据登录 AWS:

  1. 第一页显示了 AWS 中的一些服务。右上角显示了实例的区域。AWS 支持多个区域,用户可以从多个地理位置选择:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 单击Services顶部左侧的下拉菜单将显示可用的不同服务。这里突出显示了一些重要的服务:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 单击 EC2:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. AWS 提供了启动多个不同操作系统的选项。虽然我们可以选择一个选定的操作系统从头开始启动一个新实例,但我们将使用一个 AMI 镜像。AMI 是预先配置的带有安装软件的镜像。请注意,本教程中需要使用 AMI 镜像,但在本教程中使用了一个:

  1. 在左侧菜单栏上单击Community AMIs,然后搜索RStudio。选择第一个选项,然后单击选择按钮:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 选择免费套餐选项(t2.micro),然后单击Next: Configure Instance Details

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 选择下一页上的默认选项,然后单击Next: Add Storage**:

  1. 选择默认存储选项,然后单击添加标签:

  1. 单击Next: Configure Security Group**:

  1. 安全组指定服务器的网络访问规则。对于我们的教程,我们将选择所有 TCP 并单击Review and Launch

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 单击Launch

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 选择创建新的密钥对,然后单击Download Key Pair。密钥下载完成后,单击Launch Instances按钮:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 单击实例 ID:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 一旦实例 ID 的状态显示为运行中,复制服务器的名称,可以在底部面板中查看:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 打开一个新的浏览器,输入服务器名称作为 URL,然后按 Enter。这将打开 RStudio。使用 ID rstudio 和密码 rstudio 登录:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 这将打开 RStudio 控制台。这是一个完整的 R 环境,您可以像在本地安装的 R 和 RStudio 中一样执行 R 代码:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 完成使用 R Studio 后,请确保“终止”实例。终止将停止计费过程。即使我们使用的是免费套餐帐户,一旦完成工作,停止或终止实例是一个良好的做法:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 点击“登出”以退出 AWS 控制台:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Azure 还提供免费帐户注册,网址为azure.microsoft.com/en-us/free/,如下截图所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

谷歌的免费云注册表格可在cloud.google.com/free/找到,如下截图所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

摘要

在本章中,我们讨论了在软件和硬件层面部署企业级数据科学基础设施的要求。我们在管理层面分享了关于这些倡议的关键常见问题。接着是一个关于大型组织中用于数据挖掘和机器学习的关键企业解决方案的广泛部分。

本教程涉及在亚马逊网络服务(一种基于云的系统)上启动 RStudio 服务器。AWS 已成为当今世界领先的云服务提供商,该练习展示了在几秒钟内启动整个机器可以有多简单。还提到了关于明智和谨慎使用 AWS 以防止非常昂贵的费用的适当的利弊。

下一章和最后一章将包括一些总结思考,下一步的计划,以及有关本书讨论的主题的更多学习资源的链接。

第十章:关于大数据的结束思考

到目前为止,我们已经涵盖了广泛的主题。我们已经研究了用于大数据、数据科学和机器学习的技术。我们已经了解了公司如何实施其大数据企业战略。在这个过程中,我们还开发了一些真实世界的应用程序。

本章讨论了公司在大数据或数据科学倡议中的实际考虑。该领域不断发展,引入了新技术、新的开源工具和数据挖掘中的新概念。因此,各种规模的组织都面临着共同的挑战。

数据科学的成功故事在媒体上随处可见。事实上,今天发生的大部分,如果不是全部的技术投资都与数据科学的某些方面有关。事实上,它已经成为 IT 发展中不可或缺的和整合的方面。

在本章中,我们将讨论实施数据科学的一些共同主题,共同的挑战,以及您可以采取什么措施使您的倡议成功。此外,我们将看一下数据科学的主要成功案例,以及数据科学未能实现其承诺的例子。我们还将提供一系列资源链接,您可以在那里了解更多相关主题。

本章将涵盖以下主题:

  • 企业大数据和数据科学战略

  • 道德考虑

  • 硅谷和数据科学

  • 人为因素

  • 进一步阅读的链接

企业大数据和数据科学战略

你在报纸上读到它,你在晚间新闻中看到它,你从朋友那里听说过它 - 大数据和数据科学无处不在,它们已经到来并且会一直存在。

来自硅谷的成功故事使这种影响更加显著。谁会想到一款共享和叫车的手机应用 Uber,会成为估值接近 700 亿美元的世界上最受欢迎的公司之一。像 Airbnb 这样的网站和应用将公寓共享变成了一个蓬勃发展的业务,成为估值第二高的公司,达到 300 亿美元。

这些以及其他类似事件将大数据和数据科学的主题从纯理论和技术主题转变为人们已经将其与无限投资成功联系起来的常见术语。

由于几乎所有主要技术供应商都开始添加被归类为“大数据”的功能,今天投资技术的几乎所有公司都在知情或不知情地使用大数据的某些方面。

然而,实施的过程非常宽泛。因此,除了也许是 Hadoop 之外,没有明确定义的框架,Hadoop 已成为大多数公司采用的事实框架。高级管理层通常意识到大局,即大数据可以为他们的组织带来的价值。然而,实现愿景的道路具有挑战性,因此没有一个可以保证成功的明确解决方案。

广义上说,实施有三个阶段:

  • 休眠:当公司尚未建立明确的授权,但正在讨论大数据时

  • 被动:讨论开始变得更加正式,通常会导致委派一个团队/多个团队来评估对组织的影响和价值

  • 活跃:公司开始评估技术并进行积极实施

大数据和/或数据科学战略的所有权可能有些混乱。这是因为该领域涵盖了分析和技术两个方面。前者,分析,通常由组织的面向业务的部门拥有,而技术则由 IT 部门拥有。然而,在数据科学中,两个方面都是必需的。了解领域非常好并且有领域中使用的数据的经验的数据专家可能是很好的业务主题专家。他们还可能能够全面地确定理想的用例以及如何最好地利用数据。然而,如果没有强大的技术知识,将很难确定实现愿景的正确工具。

在类似的情况下,IT 经理可能对与大数据相关的技术非常了解,但需要业务利益相关者的反馈,以有效确定哪种解决方案将满足组织的特定即时和长期需求。

换句话说,多个跨学科流需要合作,以实施真正有效的组织大数据生态系统。

实现战略的过程通常是自上而下或自下而上的。然而,与其采用严格的方向性方法,不如采用协作、迭代和敏捷的过程通常是最佳解决方案。在评估大数据需求的过程中,将根据新需求和发现做出决策和更改决策,并且可能需要修改先前的评估以满足修改后的目标。

自下而上的方法涉及从 IT 层面开始制定决策。自上而下的方法,可以说更常见,涉及从管理层开始制定决策。通常都不是最佳选择。理想的方法是一个连续的反馈循环,根据发现的过程调整需求:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

相比之下,自下而上的方法如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

无论自下而上还是自上而下的方法都不是成功的大数据计划的最佳选择。更好的选择是一个协作过程,考虑到不同部门的不断变化的需求和多样化的要求,这些部门将受益于大数据平台的实施:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

伦理考虑

大数据通常涉及收集可能包含用户个人信息的大量数据。像 Facebook 和 Google 这样的公司通过分析个人信息来定位广告和执行其他类型的营销而蓬勃发展。这显然带来了伦理困境。个人数据应该被收集到什么程度?太多是多少?当然,这些问题没有正确答案。黑客攻击的兴起导致数亿用户帐户的信息被泄露,这种情况如此普遍,以至于我们对后果几乎变得麻木。

2017 年 10 月,雅虎披露,事实上,雅虎的每一个帐户都遭受了数据泄露。Equifax,美国最大的信用报告公司之一,遭受了一次数据泄露,泄露了超过 1.4 亿消费者的个人详细信息。还有许多类似的事件,而所有这些事件的共同点是所有公司都收集了一定程度的用户个人信息,无论是直接还是通过第三方。

实质上,每当涉及用户相关信息时,都需要实施适当的 IT 安全措施,以确保数据不会被泄露。后果不仅仅是数据丢失,还有声誉和信誉的影响,除了主要事实,即真实的人涉及到其数据被泄露。

因此,涉及敏感信息和/或任何个人信息的大数据安全变得至关重要。云服务提供商,如 AWS 和 Azure,部分原因是它们具有非常严格的安全标准和允许组织将责任转移给可信赖和强大实体的认证。

欧盟的《通用数据保护条例》(GDPR),自 2018 年 5 月生效,是保护其公民个人数据的重要一步。简而言之,GDPR 规定了任何个人数据的使用。在这种情况下,任何一词非常广泛,甚至包括个人的姓名。违反规定的人将被罚款高达 2,000 万欧元,或者违规组织全球营业额的 4%。

尽管这显然会减少大数据数据集的可用性,特别是那些涉及个人数据的数据集,但这也可能引发一场关于如何在约束条件下最好地利用数据的辩论和创新,也就是说,在不使用个人信息的情况下从数据中获取价值。

另一方面,美国等国家一直在放松有关个人数据收集的法律。2017 年初,美国取消了互联网服务提供商收集个人信息的隐私保护,并实际上使像 AT&T 这样的 ISP 不仅可以收集而且可以出售用户的浏览和应用程序数据合法化。

硅谷和数据科学

今天我们看到的许多大数据的关键创新都来自硅谷。这个地区几十年来一直是科技中心,推出了一些最成功的公司,如苹果、谷歌、Facebook 和 eBay。加州大学伯克利分校等大学的存在使得人才的获取相对容易。

也就是说,该地区的生活成本已经飙升,尤其是在大数据和数据科学行业增长的背景下。如今,一居室公寓的平均租金已经超过每月 3,500 美元,甚至比纽约市还要昂贵。

然而,硅谷与成功是同义词,许多新创业者被吸引到这个地区。初创公司如雨后春笋般涌现,其中许多公司获得了数千万美元的风险投资。然而,创业者应该注意统计警告,因为初创企业的高失败率。拥有一个伟大的想法,具有潜在的高商业价值是一回事。将这个想法变成商业成功需要不同类型的技能和商业头脑。

对于感兴趣的人,Crunchbase 网站提供了对初创企业领域活动的非常全面的视图。以下图片显示了在任何 7 天内发生的投资的平均数字,可能达到数十亿美元:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

人的因素

尽管大数据和数据科学的显著优势,以及它们的成功和突破性增长,但仍然重要的是要记住人类思维在所有努力中的重要性。

大数据技术将使我们能够更有效地分析数据。但我们仍然需要正确的判断来决定我们的理想用例。这并不是微不足道的。大公司发现倡议同样具有挑战性(尽管规模更大),就像经验丰富的大数据专业人员一样。

同样,数据科学和机器学习可以让我们借助复杂的算法和代码进行预测和预见。然而,用户仍然有责任评估结果并不仅仅基于预测输出做出决定。用户应该在做出这样的评估时运用常识和经验。如果 GPS 指示司机在下雪的冬夜走某条路,而司机知道那条路不会被除雪车清理,盲目遵循 GPS 指示是不明智的。

一个最近的例子说明了这个概念,就是在 2016 年选举期间人与机器之间的脱节。使用非常复杂的算法估计出克林顿赢得选举的高概率的广泛模型都被证明是错误的。杰出的数据科学家和领先的统计组织估计克林顿当选的概率为 80-90%。我们都错过了做决定的人的因素。我们过于依赖模型的复杂性,而不是试图了解人们真正的感受,以及他们对候选人的最终选择和真实感受是否与他们在非正式调查中的断言一致。

成功项目的特点

数据科学项目本质上需要很长时间才能实现投资回报。特别是,很难准确衡量涉及长期预测的项目的成功。正如前面的章节所述,为了推动数据科学事业的发展,部门必须展示早期的成功。一般来说,项目的关键因素包括:a)短期;b)有可衡量的结果;c)可以受益并将被广泛用户使用。这些因素有助于建立可信度并确保数据科学相关项目的成功。

这样一个项目的例子是 Arterys,这是一家云公司,于 2016 年末开发了一种深度学习算法,可以在短时间内评估血液流向心脏,与传统扫描仪相比。它符合成功的关键标准。好处几乎立即显而易见,该算法提供了直接可衡量的结果,因为您可以将结果与扫描仪的结果进行比较,并且对广泛的用户,即患者,非常有用。此外,这个主题非常直观。

任何接受过血液检测的人都能直观地理解血流的测量。这种产品的好处也是非常明显的。能够在短时间内获得结果可以帮助挽救生命。2016 年 11 月,FDA 批准了这个算法。这是一个里程碑式的成就。

总结

总的来说,虽然通往大数据和数据科学成功的道路可能看起来艰难,但希望前面的章节已经全面概述了大数据的各种主题。我们讨论了数据挖掘和机器学习,了解了各自学科中的各种工具和技术,并在真实世界数据上开发了应用程序,并提供了关于组织大数据和数据科学倡议的微妙之处的离别思考。

接下来的几页列出了一些资源链接,读者可能会发现对于学习更多关于各自主题领域有用的。

第十一章:外部数据科学资源

该书涵盖了非常广泛的材料,从 Hadoop 到 NoSQL 和机器学习到企业数据科学。信息已经非常详尽,但由于空间限制,我们没有深入研究任何一个特定领域。

在接下来的几节中,我们提供了外部材料的链接,供您进一步阅读,如果您想了解更多有关各自主题的信息,这可能会对您有所帮助。

这里的一些解决方案要么是开源的,要么是企业软件的社区版本。如果您正在考虑大数据和/或数据科学的企业解决方案,后者可能特别有用。

大数据资源

Apache Hadoop:

hadoop.apache.org

Apache Spark:

spark.apache.org

Databricks Spark:访问 Spark 集群的社区:

community.cloud.databricks.com/

NoSQL 产品

Redis:内存键值 NoSQL 数据库:

redis.io

Cassandra:最强大的生产 NoSQL 系统之一:

cassandra.apache.org

MongoDB:基于文档的 NoSQL 数据库:

www.mongodb.com

Vertica:社区版:

www.vertica.com/try/

Teradata:Aster 社区版:

aster-community.teradata.com/community/download

语言和工具

开源 R:

www.r-project.org

Microsoft Open R(具有企业附加功能):

mran.microsoft.com/open

RStudio:R 的开发界面:

www.rstudio.com

开源 Python:

www.python.org

Anaconda Python:预装有数据科学和其他重要软件包的 Python:

anaconda.org

创建仪表板

R Shiny:R 中的仪表板:

www.rstudio.com/products/shiny/

Dash:Python 中的仪表板:

plot.ly/products/dash/

笔记本

Jupyter:R、Python 和其他各种语言的笔记本界面:

jupyter.org

Beaker Notebook:类似于 Jupyter 但使用不如广泛:

beakernotebook.com

可视化库

Bokeh:Python 的出色绘图库:

bokeh.pydata.org/en/latest/

Plotly:仪表板和报告:企业和开源:

plot.ly

RCharts:R 中广泛使用的绘图包:

ramnathv.github.io/rCharts/

HTMLWidgets:使用 JavaScript 在 R 中进行交互式仪表板:

www.htmlwidgets.org

ggplot2:终极 R 图形库:

ggplot2.tidyverse.org

R 课程

edX 上的 R 课程:

www.edx.org/course?search_query=R+programming

简明的 R 教程:

www.cyclismo.org/tutorial/R/

Coursera:大数据和 R 课程:

www.coursera.org/specializations/big-data

www.coursera.org/courses?languages=en&query=r+programming

机器学习课程

哈佛 CS109:使用 Python 的最全面的机器学习课程(作者观点):

cs109.github.io/2015/pages/videos.html

加州理工学院《从数据中学习》:机器学习理论上最全面的慕课:

work.caltech.edu/telecourse.html

Coursera:关于机器学习的各种课程:

www.coursera.org/learn/machine-learning

Stanford:Trevor Hastie 和 Rob Tibshirani 的统计学习:

lagunita.stanford.edu/courses/HumanitiesSciences/StatLearning/Winter2016/about

Andrew Ng 的《机器学习》:最广为人知的机器学习 MOOC 之一:

www.coursera.org/learn/machine-learning

机器学习和深度学习链接

Scikit-Learn:Python 中最全面的机器学习包:

scikit-learn.org/stable/

Tensorflow:谷歌的深度学习解决方案:

www.tensorflow.org

MLPACK:使用 C++和 Unix 命令行的机器学习:

www.mlpack.org

Word2Vec:自然语言处理中众所周知的软件包之一:

deeplearning4j.org/word2vec

Vowpal Wabbit:在许多 Kaggle 比赛中使用的优秀机器学习软件:

github.com/JohnLangford/vowpal_wabbit/wiki/Tutorial

LIBSVM 和 LIBLINEAR:备受推崇的命令行机器学习工具:

www.csie.ntu.edu.tw/~cjlin/libsvm/

www.csie.ntu.edu.tw/~cjlin/liblinear/

LIBFM:矩阵分解:

www.libfm.org

PaddlePaddle:百度的深度学习:

github.com/PaddlePaddle/Paddle

CuDNN:NVIDIA 的深度学习/神经网络解决方案:

developer.nvidia.com/cudnn

Caffe:伯克利的深度学习框架:

caffe.berkeleyvision.org

Theano:Python 中的 GPU 启用机器学习:

deeplearning.net/software/theano/

Torch:Lua 中的高性能机器学习:

torch.ch

Keras:开源神经网络应用:

keras.io

基于 Web 的机器学习服务

AzureML:Microsoft Azure 云中的机器学习:

azure.microsoft.com/en-us/services/machine-learning/

H2O:高性能机器学习平台:与 R、Python 等配合使用:

www.h2o.ai

BigML:外观吸引人的基于 Web 的机器学习平台:

bigml.com

电影

《模仿游戏》:关于艾伦·图灵的电影:

www.imdb.com/title/tt2084970/

《美丽心灵》:关于约翰·纳什的电影:

www.imdb.com/title/tt0268978/

《2001 太空漫游》:

www.imdb.com/title/tt0062622/

《金球》:关于运动数据分析的电影:

www.imdb.com/title/tt1210166/

《Ex Machina》:关于人工智能的电影:

www.imdb.com/title/tt0470752/

《终结者 2》:一部获得了文化地位的电影:

www.imdb.com/title/tt0103064/

Packt 的机器学习书籍

Giancarlo Zaccone 的《Tensorflow 入门》:

www.packtpub.com/big-data-and-business-intelligence/getting-started-tensorflow

Sebastian Raschka 的《机器学习和深度学习》:

www.amazon.com/Python-Machine-Learning-scikit-learn-TensorFlow/dp/1787125939

Brett Lantz 的《R 语言机器学习》:

www.amazon.com/Machine-Learning-techniques-predictive-modeling/dp/1784393908

休闲阅读书籍

关于逻辑和数学的经典著作:

www.amazon.com/Gödel-Escher-Bach-Eternal-Golden/dp/0465026567

Gödel 不完备定理的简单解释:

www.amazon.com/Gödels-Proof-Ernest-Nagel/dp/0814758371/

罗杰·彭罗斯关于人工智能等等:

www.amazon.com/Emperors-New-Mind-Concerning-Computers/dp/0198784929/

Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐