《Spark与Hadoop大数据分析》一一1.2 大数据科学以及Hadoop和Spark在其中承担的角色

1.2 大数据科学以及Hadoop和Spark在其中承担的角色

数据科学的工作体现在以下这两个方面:
从数据中提取其深层次的规律性
创建数据产品
要从数据中提取其深层次的规律性,意味着要使用统计算法提炼出有价值的信息。数据产品则是一种软件系统,其核心功能取决于对数据的统计分析和机器学习的应用。Google AdWords或Facebook里的“你可能认识的人”就是数据产品的两个例子。
1.2.1 从数据分析到数据科学的根本性转变
从数据分析到数据科学的根本转变的根源,是对更准确的预测和创建更好的数据产品需求的不断增长。
让我们来看一个示例,其中解释了数据分析和数据科学之间的差异。
问题:某大型电信公司有多个呼叫中心,负责收集呼叫者信息并将其存储在数据库和文件系统中。该公司已经对呼叫中心数据实施数据分析,提供了以下分析结果:
服务的可用性
平均应答速度、平均通话时间、平均等待时间和平均呼叫时间
呼叫的放弃率
首次呼叫解析率和每次通话的费用
座席占用情况
现在,该电信公司希望减少客户流失,改善客户体验,提高服务质量,并通过以接近实时的方式了解客户的情况,进行交叉销售和向上销售。
解决方案:分析客户的声音。客户的声音比任何其他信息都有更深刻的含义。我们可以使用CMU Sphinx等工具将所有呼叫转换为文本,并在Hadoop平台上进行扩展。我们可以进行文本分析以从数据中获取分析结果,获得高精确度的呼叫–文本转换,创建适合该公司的模型(语言和声学),并根据业务发生变化的频度,随时重新训练模型。此外,可以利用机器学习和自然语言处理(natural language processing,NLP)技术创建用于文本分析的模型,提供以下指标,合并到数据分析的指标里:
客户流失的主要原因
客户情感分析
客户和问题的划分
客户的 360 度视角
请注意,这个用例的业务需求产生了从数据分析到实现机器学习和NLP算法的数据科学的根本转变。为了实施这个解决方案,需要使用新的工具和技术,还需要一个新的角色:数据科学家。
数据科学家具备多种技能—统计、软件编程和业务专业知识。数据科学家能够创建数据产品,并从数据中提炼出价值。让我们来看看数据科学家与其他角色有什么不同。这会有助于我们理解在数据科学和数据分析项目中有哪些角色,以及他们要承担哪些工作。

  1. 数据科学家与软件工程师
    数据科学家和软件工程师角色之间的区别如下:

软件工程师根据业务需求,开发通用的应用软件
数据科学家不开发应用软件,但他们开发软件来帮助解决问题
通常,软件工程师使用Java、C++和C#等编程语言
数据科学家往往更重视像Python和R这样的脚本语言

  1. 数据科学家与数据分析师
    数据科学家和数据分析师角色之间的区别如下:

数据分析师使用SQL和脚本语言进行描述性及诊断性分析,从而创建报告和仪表板。
数据科学家使用统计技术和机器学习算法来进行预测性及规范性分析,从而找到答案。他们通常会使用诸如Python、R、SPSS、SAS、MLlib和GraphX之类的工具。

  1. 数据科学家与业务分析师
    数据科学家和业务分析师角色之间的区别如下:

两者都关注业务,因此他们可能会提出类似的问题
数据科学家具备找到答案所需的技术技能
1.2.2 典型数据科学项目的生命周期
让我们学习如何了解和执行典型的数据科学项目。
从图1-4中所示的典型数据科学项目的生命周期可以看出,数据科学项目的生命周期是迭代的,而如图1-3所示的数据分析项目的生命周期却不是迭代的。在对项目结果进行改善的情况下,定义问题和结果以及沟通这两个阶段没有包含在迭代中。然而,整个项目的生命周期是迭代式的,它需要在生产实施后不断地改进。

图1-4 数据科学项目的生命周期
在数据预处理阶段,定义问题和结果的步骤与数据分析项目类似,如图1-3所示。所以,让我们来讨论数据科学项目所需的新步骤。

  1. 假设和建模
    对于具体问题,要考虑所有能够和预期结果相匹配的可行解决方案。这通常涉及关于这个问题的根本原因的假设。这样,关于业务状况的问题就会浮现出来,例如为什么客户会取消服务,为什么支持电话会显著增加,以及为什么客户会放弃购物车。

如果我们对数据有更深入的理解,根据某个假设就可以确定合适的模型。这就关系到理解数据的属性及其相互关系,并通过定义用于测试、训练和生产的数据集来构建建模所需的环境。我们可以利用机器学习算法(如逻辑回归、K均值聚类、决策树或朴素贝叶斯等)来构建合适的模型。

  1. 衡量有效性
    模型的执行是通过针对数据集运行确定的模型来进行的。通过利用正确的输出对结果进行核对可以衡量模型的有效性。我们可以使用测试数据验证结果,并创建像均方差(Mean Squared Error,MSE)之类衡量有效性的指标。
  2. 做出改进
    从衡量结果可以看到需要改进的程度有多大。要考虑你会做出哪些改变。你可以问自己以下问题:

围绕问题的根本原因所做出的那些假设是否正确?
提取更多的数据集是否会产生更好的结果?
是否有其他解决方案能产生更好的结果?
一旦你实施了改进措施,就要对它们再次进行测试,并将它们与以前的衡量结果进行比较,以进一步改进解决方案。

  1. 交流结果
    针对结果的交流是数据科学项目生命周期中的重要一步。数据科学家描述数据中的发现的方式是把这些发现和业务问题关联起来。报表和仪表板是交流结果的常用工具。

1.2.3 Hadoop和Spark 承担的角色
Apache Hadoop为你提供了分布式存储和资源管理功能,而Spark为你提供了数据科学应用程序所需的内存级性能。对于数据科学项目来说,Hadoop和Spark有以下的优点:
广泛的应用和第三方组件包
一个便于使用的机器学习算法库
Spark 能够和深度学习库(如 H2O和TensorFlow)集成
可以利用 Scala、Python和R的shell进行交互式分析
统一的特性—可以把SQL、机器学习和流式传输一起使用

时间: 2024-08-01 04:12:54

《Spark与Hadoop大数据分析》一一1.2 大数据科学以及Hadoop和Spark在其中承担的角色的相关文章

《Spark与Hadoop大数据分析》——1.2 大数据科学以及Hadoop和Spark在其中承担的角色

1.2 大数据科学以及Hadoop和Spark在其中承担的角色 数据科学的工作体现在以下这两个方面: 要从数据中提取其深层次的规律性,意味着要使用统计算法提炼出有价值的信息.数据产品则是一种软件系统,其核心功能取决于对数据的统计分析和机器学习的应用.Google AdWords或Facebook里的"你可能认识的人"就是数据产品的两个例子. 1.2.1 从数据分析到数据科学的根本性转变 从数据分析到数据科学的根本转变的根源,是对更准确的预测和创建更好的数据产品需求的不断增长. 让我们来

《Spark快速大数据分析》—— 第五章 数据读取和保存

由于Spark是在Hadoop家族之上发展出来的,因此底层为了兼容hadoop,支持了多种的数据格式.如S3.HDFS.Cassandra.HBase,有了这些数据的组织形式,数据的来源和存储都可以多样化~ 本文转自博客园xingoo的博客,原文链接:<Spark快速大数据分析>-- 第五章 数据读取和保存,如需转载请自行联系原博主.

《Spark快速大数据分析》—— 第七章 在集群上运行Spark

本文转自博客园xingoo的博客,原文链接:<Spark快速大数据分析>-- 第七章 在集群上运行Spark,如需转载请自行联系原博主.

大数据分析:零售商“节假日大销售”秘密武器

在西方国家,用"黑色星期五"和"网络星期一"(感恩节之后的第一个星期一),来表示一年中两个重大的节日购物事件.但很多人可能不知道,这两个日期并不仅仅指日历上的日期,同时也是许多零售企业开始布局大促销的时机,实际上决定着整个年度的利润高低. 因此,从两大节日到新年假期,这段时间的运作对整个零售企业年度销售底线非常重要,赢得2012年"感恩节大促销"的零售商,使用的秘密武器是"大数据分析". 那么,大数据在零售市场发挥了什么样的作

《Spark与Hadoop大数据分析》——1.1 大数据分析以及 Hadoop 和 Spark 在其中承担的角色

1.1 大数据分析以及 Hadoop 和 Spark 在其中承担的角色 传统的数据分析使用关系型数据库管理系统(Relational Database Management System,RDBMS)的数据库来创建数据仓库和数据集市,以便使用商业智能工具进行分析.RDBMS 数据库采用的是写时模式(Schema-on-Write)的方法,而这种方法有许多缺点. 传统数据仓库的设计思想是用于提取.转换和加载(Extract, Transform, and Load,ETL)数据,据此回答与用户需求

超越Hadoop的大数据分析之第一章介绍:为什么超越Hadoop Map-Reduce

本文翻译自<BIG DATA ANALYTICS BEYOND HADOOP>译者:吴京润 译者注:本文是本书第一章的开头,第一章其它部分由其他人翻译. 你可能是一个视频服务提供商,而你想基于网络环境动态的选择合适的内容分发网络来优化终端用户的体验.或者你是一个政府监管机构,需要为互联网页进行色情或非色情的分类以便过滤色情页面,同时还要做到高吞吐量以及实时性.或者你是一个通讯/移动服务提供商--要么你在这样的公司工作--而你担心客户流失(客户流失意味着,老用户离开而选择竞争对手,或者新用户加入

《R与Hadoop大数据分析实战》一第2章 编写Hadoop MapReduce程序

第2章 编写Hadoop MapReduce程序 在第1章中,我们学习了如何搭建R和Hadoop开发环境.既然我们对大数据分析感兴趣,接下来就学习如何使用Hadoop MapReduce进行大数据处理.在本章中,我们要讨论MapReduce的基础概念,为何它是不可或缺的,以及如何在Apache Hadoop上进行MapReduce编程等内容.本章节将会涉及如下内容:MapReduce基础概念Hadoop MapReduce技术Hadoop MapReduce原理编写Hadoop MapReduc

《R与Hadoop大数据分析实战》一2.4 编写Hadoop MapReduce示例程序

2.4 编写Hadoop MapReduce示例程序 现在要通过一个很简单且普通的单词统计(word count)来学习MapReduce.该例子的目标是统计每个单词在文章中出现的次数.这些文章作为MapReduce的输入文件. 在该例中,已经准备了一些文本文件,我们希望计算所有单词在这些文件中出现的频率.我们通过Hadoop MapReduce来进行设计. 本节中,将使用旧版API接口学习Hadoop MapReduce编程.假设读者已经配置了Hadoop的环境变量(请参考第1章的内容).同时

《Hadoop大数据分析与挖掘实战》——第2章Hadoop基础

第2章 Hadoop基础 大数据是指无法在一定时间内用常规软件工具对其内容进行抓取.管理和处理的数据集合.大数据技术,是指从各种各样类型的数据中,快速获得有价值信息的能力.适用于大数据的技术,包括大规模并行处理(MPP)数据库,数据挖掘,分布式文件系统,分布式数据库,云计算平台,互联网和可扩展的存储系统. 在维克托·迈尔-舍恩伯格及肯尼斯·库克耶编写的<大数据时代>中大数据指不用随机分析法(抽样调查)这样的捷径,而采用所有数据进行分析处理.大数据的主要特点为数据量大(Volume),数据类别复