Big Data Analytics 简明教程

Big Data Analytics - Data Life Cycle

生命周期是一个过程,表示大数据分析中涉及的一个或多个活动的顺序流程。在学习大数据分析生命周期之前,让我们先了解一下传统的数据挖掘生命周期。

Traditional Data Mining Life Cycle

为了给组织提供一个系统化地组织工作的框架,该框架支持整个业务流程,并提供宝贵的业务见解,以便做出战略决策,在竞争激烈的世界中使组织生存下来并实现其利润最大化。

data mining life cycle

传统的数据挖掘生命周期包含以下阶段:

  1. Problem Definition - 这是数据挖掘过程的初始阶段,包括需要发现或解决的问题定义。问题定义始终包括需要实现的业务目标,以及需要探索的数据,以识别模式、业务趋势和流程流程,以实现既定目标。

  2. Data Collection - 下一步是数据收集。此阶段涉及从不同的数据源(例如数据库、网络日志或社交媒体平台)中提取数据,这些数据是分析和执行商业智能所必需的。收集到的数据被认为是原始数据,因为它包含杂质,并且可能不是所需的格式和结构。

  3. Data Pre-processing - 在数据收集后,我们会清理数据并对其进行预处理,以去除噪声、缺失值填补、数据转换、特征选择,并在开始分析之前将数据转换为所需格式。

  4. Data Exploration and Visualization - 在对数据进行预处理后,我们会对其进行探索以了解其特性,并识别模式和趋势。此阶段还包括使用散点图、直方图或热图进行数据可视化,以图形方式显示数据。

  5. Modelling - 此阶段包括创建数据模型以解决在第 1 阶段中定义的现实问题。这可能包括有效的机器学习算法、对模型进行训练和评估其性能。

  6. Evaluation - 数据挖掘的最后阶段是评估模型的性能,并确定它是否符合你在步骤 1 中的业务目标。如果模型表现不佳,你可能需要再次进行数据探索或特征选择。

CRISP-DM Methodology

CRISP-DM 是数据挖掘的跨行业标准流程;它是一种方法,描述了数据挖掘专家用来解决传统 BI 数据挖掘问题时常用的方法。它仍在传统的 BI 数据挖掘团队中使用。下图对其进行了说明。它描述了 CRISP-DM 周期的主要阶段,以及它们之间如何相互关联。

crispdm methodology

CRISP-DM 于 1996 年推出,次年作为一项欧盟项目在 ESPRIT 资助计划下启动。该项目由五家公司牵头:SPSS、Teradata、戴姆勒股份公司、NCR 公司和 OHRA(一家保险公司)。该项目最终被并入 SPSS 中。

Phases of CRISP-DM Life Cycle | Steps of CRISP-DM Life Cycle

  1. Business Understanding - 此阶段包括从业务角度定义问题、项目目标和要求,然后将其转换为数据挖掘。设计了初步计划以实现目标。

  2. Data Understanding - 数据理解阶段最初以数据收集开始,目的是确定数据质量、发现数据洞察或检测有趣的子集,以形成有关隐藏信息的假设。

  3. Data Preparation - 数据准备阶段涵盖了从初始原始数据构建最终数据集(将输入建模工具的数据)的所有活动。数据准备任务可能会多次执行,并且没有任何规定的顺序。任务包括表、记录和属性选择,以及数据转换和清理,以用于建模工具。

  4. Modelling - 在此阶段,选择并应用不同的建模技术;不同的技术可用于处理相同类型的数据;专家总是选择有效和高效的技术。

  5. Evaluation - 在提出的模型完成后,在最终部署模型之前,对其进行彻底评估并查看构建模型执行的步骤非常重要,以确保模型实现所需的业务目标。

  6. Deployment - 建模通常不是项目的终点。即使模型的目的是增加对数据的了解,获得的知识也需要以对客户有用的方式组织和呈现。在许多情况下,将执行部署阶段的将是客户,而不是数据分析师。即使是分析师部署模型,客户也需要事先了解为了利用创建的模型需要采取的行动。

SEMMA Methodology

SEMMA 是 SAS 为数据挖掘建模开发的另一种方法。它代表抽样、探索、修改、建模和评估。

semma methodology

其阶段描述如下−

  1. Sample - 过程从数据抽样开始,例如,为建模选择数据集。数据集应足够大以包含足够的检索信息,但又足够小以能高效地使用。此阶段还处理数据分区。

  2. Explore − 此阶段涵盖通过发现变量之间的预期和意外关系以及异常,借助数据可视化来理解数据。

  3. Modify - 修改阶段包含用于选择、创建和转换变量的方法,以便为数据建模做准备。

  4. Model - 在建模阶段,重点在于对准备好的变量应用各种建模(数据挖掘)技术,以创建可能提供所需结果的模型。

  5. Assess - 对建模结果的评估显示了所创建模型的可靠性和有用性。

CRISM-DM 和 SEMMA 之间的最大区别在于,SEMMA 专注于建模方面,而 CRISP-DM 则更重视建模之前的周期阶段,例如了解要解决的业务问题、了解和预处理用作输入的数据,例如机器学习算法。

Big Data Life Cycle

大数据分析是一个涉及管理整个数据生命周期(包括数据收集、清理、组织、存储、分析和治理)的领域。在大数据的背景下,传统方法并不适合分析大容量数据、具有不同值的的数据、数据速度等。

例如,SEMMA 方法轻视对不同数据源进行数据收集和预处理。在成功的的大数据项目中,这些阶段通常构成了大部分工作。大数据分析涉及大批原始数据(非结构化和半结构化数据)的识别、获取、处理和分析,其目标是从中提取有价值的信息来识别趋势、增强现有公司数据和进行广泛搜索。

big data analytics lifecycle1

大数据分析生命周期可分为以下阶段−

  1. Business Case Evaluation

  2. Data Identification

  3. Data Acquisition & Filtering

  4. Data Extraction

  5. Data Validation & Cleansing

  6. Data Aggregation & Representation

  7. Data Analysis

  8. Data Visualization

  9. Utilization of Analysis Results

大数据分析与传统数据分析之间的主要差异在于处理数据的价值、速度和多样性。为了满足大数据分析的特定要求,需要一种有条理的方法。大数据分析生命周期阶段的描述如下 -

Business Case Evaluation

大数据分析生命周期始于一个明确定义的业务用例,它概述了进行分析的问题识别、目标和目标。在开始真正的动手分析任务之前,业务用例评估需要创建、评估和批准业务用例。

对大数据分析商业案例的审查为决策者提供了一个方向,让他们了解所需的业务资源和需要解决的业务问题。案例评估审查正在解决的业务问题定义是否真的是大数据问题。

Data Identification

数据识别阶段重点识别分析项目所需的必要数据集及其来源。识别更广泛的数据源可能会提高发现隐藏模式和关系的机会。公司可能需要内部或外部数据集和资源,具体取决于它所解决的业务问题的性质。

Data Acquisition and Filtering

数据获取过程包括从前一阶段提到的所有源中收集数据。我们对数据进行自动过滤,以删除损坏的数据或与研究目标无关的记录。根据数据源的类型,数据可能以文件集合的形式出现,例如从第三方数据提供商获取的数据,或以 API 集成的形式出现,例如与 Twitter 集成。

big data analytics lifecycle2

一旦生成或进入企业边界,我们必须保存内部和外部数据。我们将此数据保存到磁盘,然后使用批处理分析对其进行分析。在实时分析中,我们在将数据保存到磁盘之前对其进行分析。

Data Extraction

此阶段重点是从不同数据中提取数据,并将其转换为底层大数据解决方案可用于数据分析的格式。

Data Validation and Cleansing

不正确的数据会使分析结果产生偏差和错误表示。与具有预定义结构并经过验证的大部分企业数据可以用于分析不同;如果在分析之前未验证数据,大数据分析可能是无结构的。它的复杂性可能会使制定一组适当的验证要求变得困难。数据验证和清理负责定义复杂的验证条件并删除所有已知有缺陷的数据。

Data Aggregation and Representation

数据聚合和表示阶段重点在于合并多个数据集以创建一致的视图。由于以下差异,执行此阶段可能会变得棘手:

Data Structure - 数据格式可能相同,但数据模型可能不同。

Semantics - 在两个数据集中标记不同的变量可能表示相同的内容,例如“姓氏”和“名字”。

big data analytics lifecycle3

Data Analysis

数据分析阶段负责执行实际的分析工作,通常包括一种或多种类型的分析。特别是如果数据分析是探索性的,我们可以迭代地继续此阶段,直到发现正确的模式或关联为止。

Data Visualization

数据可视化阶段以图形方式可视化数据,以便以业务用户能够有效解释的结果进行交流。结果结果有助于执行可视分析,使他们能够发现他们尚未提出的查询的答案。

Utilization of Analysis Results

为业务人员提供的成果,以便支持业务决策,例如通过仪表盘。所有提到的九个阶段是大数据分析生命周期的主要阶段。

还可以考虑以下阶段 -

分析其他公司在相同情况下所做的工作。这包括寻找对你的公司有意义的解决方案,即使这意味着为你公司的资源和需求调整其他解决方案。在此阶段,应定义未来阶段的方法。

一旦定义了问题,继续分析当前员工是否能够成功完成项目是合理的。传统的 BI 团队可能无法为所有阶段提供最佳解决方案,所以在开始项目之前应该考虑是否需要将部分项目外包或雇用更多人。

本节在大数据生命周期中至关重要;它定义了传递最终数据产品所需的类型配置。数据收集是该过程中的非平凡步骤;它通常涉及从不同来源收集非结构化数据。举例来说,它可能涉及编写一个爬虫程序从某个网站获取评论。这涉及到处理文本(可能采用不同的语言),通常需要大量时间来完成。

一旦从网络中检索到数据,例如,需要将其存储为易于使用的格式。为了继续查看示例,让我们假设从不同站点检索数据,每个站点显示数据的方式不同。

假设一个数据源以星级评级提供评论,因此可以将此读取为响应变量 $ \ mathrm {y \:\epsilon \:\lbrace 1,2,3,4,5\rbrace} $ 的映射。另一个数据源使用箭头系统提供评论,一个用于顶帖,另一个用于踩帖。这意味着响应变量的形式为 $ \ mathrm {y \:\epsilon \:\lbrace positive,negative \rbrace} $。

为了合并这两个数据源,必须做出一个决策来让这两个响应表示相等。这可能包括将第一个数据源响应表示转换为第二种形式,将一星视为负面,五星视为正面。此过程通常需要大量时间分配来保证良好质量。

数据处理完成后,有时需要将数据存储在数据库中。大数据技术为此提供了很多备选方案。最常见的备选方案是使用 Hadoop 文件系统进行存储,它为用户提供了 HIVE 查询语言这个版本的 SQL。从用户角度来看,这允许大部分分析任务以与在传统 BI 数据仓库中完成任务类似的方式完成。其他可供考虑的存储选项包括 MongoDB、Redis 和 SPARK。

该周期的这个阶段与人力资源知识相关,即他们实施不同架构的能力。经过修改的传统数据仓库版本仍在大型应用中使用。例如,Teradata 和 IBM 提供的 SQL 数据库可以处理数 TB 的数据;PostgreSQL 和 MySQL 等开源解决方案仍然用于大型应用。

即使不同的存储在后台的工作方式在实现上有所不同,但从客户端来看,大部分解决方案都提供了 SQL API。因此,对 SQL 有深入的理解对于大数据分析来说仍然是一项关键技能。这个阶段表面上似乎是最重要的主题,但在实践中并不是这样。它甚至不是一个必要阶段。可以实现一个使用实时数据的大数据解决方案,因此在这种情况下,我们只需要收集数据来开发模型,然后实时实施它。因此,根本不需要正式存储数据。

一旦以可以从中检索见解的方式清理和存储数据,那么数据探索阶段就必不可少了。此阶段的目标是了解数据,这通常是通过统计技术以及绘制数据图来完成的。这是一个评估问题定义是否有意义或是否可行的良好阶段。

此阶段涉及对之前检索的已清理数据进行重新整形并使用统计预处理进行缺失值插补、异常值检测、规范化、特征提取和特征选择。

前面的阶段应该为训练和测试(例如预测模型)生成了多个数据集。在这个阶段,需要尝试不同的模型并期待解决手头的业务问题。在实践中,通常希望该模型能够提供一些对业务的见解。最后,通过评估其在留出数据集上的性能,选择最佳模型或模型组合。

在这个阶段,已开发的数据产品实施在公司的管道中。这涉及在数据产品运行时设置一个验证方案,以跟踪其性能。例如,在实施预测模型的情况下,此阶段会涉及将模型应用于新数据,并且一旦有了响应,就会评估模型。