数据挖掘过程模型研究「终于解决」

数据挖掘过程模型研究「终于解决」近几年,数据挖掘及大数据处理技术得到了空前的发展,这得益于数据量的快速增长、存储及计算成本的降低以及相关技术的进步。越来越多的企业开始进行或准备进行数据挖掘,他们希望能够为企业决策提供有力的支撑,在市场中占据有利的位置。在企业中进行数据挖掘工作,为了保证目标、降低成本、提高效率,需要一个标准的过程模型。CRISP-DM通过6个步骤,对企业数据挖掘过程进行了描述,目前是行业的事实标准。本文将对数据挖掘过程进行介绍,并针对CRISP-DM模型进行详细描述。

大家好,欢迎来到IT知识分享网。



1.   摘要

近几年,数据挖掘及大数据处理技术得到了空前的发展,这得益于数据量的快速增长、存储及计算成本的降低以及相关技术的进步。越来越多的企业开始进行或准备进行数据挖掘,他们希望能够为企业决策提供有力的支撑,在市场中占据有利的位置。在企业中进行数据挖掘工作,为了保证目标、降低成本、提高效率,需要一个标准的过程模型。CRISP-DM通过6个步骤,对企业数据挖掘过程进行了描述,目前是行业的事实标准。本文将对数据挖掘过程进行介绍,并针对CRISP-DM模型进行详细描述。




 

2.  数据挖掘过程

知识发现(KDDKnowledgeDiscovery in Database)是指从数据集中识别出有效的、新颖的、潜在有用的,以及最终可理解的模式的非平凡(智能化)过程。知识发现将信息变为知识。由于其是一门众多领域关注的交叉学科,导致其还有很多其它名称:数据挖掘(Data Mining)、信息发现(Information Discovery)、智能数据分析(Intelligent Data Analysis)等。数据挖掘流行于统计界、数据分析、数据库领域;知识发现主要流行于人工智能和机器学习领域。本文中,主要采用“数据挖掘”这个名称。

一个数据挖掘工程中,通常包括一系列复杂的步骤。过程模型中对这些步骤进行了组合和描述。数据挖掘过程模型主要分为学术模型和工业模型两类。学术模型以Fayyad1996年提出的“9步模型(Nine-steps Model)”为主流,工业模型以欧盟机构在1999年起草的CRISP-DM模型为主流。




 

3.  Nine-stepsModel

9步模型将数据挖掘过程分为了9步,从确定数据挖掘目标为起点,以实现知识的发现为结束。

数据挖掘过程模型研究「终于解决」

下面是各个步骤的简要说明:

1.定义、理解数据挖掘目标。首先,数据挖掘项目的负责人需要组织讨论会,确定数据挖掘的目标,项目人员需理解该目标。还要准备一个场景,用来梳理数据转换方式、挖掘算法、知识表现手段等。随着工程的进行,这一步甚至可以进行调整。制定这一步完成后,数据预处理工作(步骤234)就开始了。

2.选择、创建数据集。在定义目标之后,所需的数据就已经确定了,包括找出可用的数据、获取额外的辅助数据。然后整合这些数据到一个数据集中,对每个数据属性进行考虑并处理。数据挖掘以数据为基础,因此这个步骤非常重要。如果一些重要的属性丢失,则会导致整个挖掘过程的失败。为了使工程开展得更加顺利,可以考虑在数据集中提供尽可能多的属性,但另一方面,采集、组织、处理数据的成本也会增加。整个过程是一个迭代的过程,通过迭代,改变数据集,观察结果的变化,找到能够权衡效果和成本的结果集。

3.数据准备、清洗。在这一步骤中,数据的可靠性得以加强,这包括数据清洗(处理空值数据、去除噪声数据和异常值)。这个步骤中可能会用到复杂的统计方法和特殊的数据挖掘算法。比如某个属性的可靠性不足或者空值过多,那么就需要通过预测算法计算得到该属性的值。

4.数据转换。在这个步骤中,数据转换成挖掘所需的格式,比如数据降维和属性转换。这个步骤非常重要,而且在不同的领域,通常处理方式也是千差万别的。当采用不合适的数据转换方式进行挖掘的时候,其结果可能会非常意外。当完成以上4步之后,接下来后面的4步(5678)就是关于数据挖掘的部分了。

5.选择合适的数据挖掘方法。数据准备好,就要开始抉择采用什么数据挖掘方法(分类、回归、聚类等)。这主要依据数据挖掘的目标,当然也和前面的步骤有关系。数据挖掘主要有两种目标:预测和描述。预测经常涉及有监督的方式,描述经常涉及无监督和可视化方面的方式。大多数的数据挖掘技术以归纳推理为基础,通过足够数量的训练数据显式或隐式地一般化为模型。其前提假设条件是,这个训练得出的模型可以预测未来的情况。

6.选择数据挖掘算法。这个步骤需要选择具体的算法,进行模式发现。比如考虑精确性和易理解性,神经网络更适合前者,而决策树更适合后者。一个数据挖掘方法包含了多个可能完成的算法,每个算法都有使用的策略和参数。因此需要理解这些数据挖掘算法,以及导致成功或效果不好的条件,从而明白在当前条件下使用哪种算法更加适合。

7.执行数据挖掘算法。这一步开始启用数据挖掘算法,并且可能调整参数执行多次,直到得到满意的结果。

8.结果评价。依据第一步定义的目标进行模式的解释和评价。这一步得到的结果受到前面每一步的影响。重点关注模型的有用性和可理解性。得到的结果需要记录整理成文档,以便进行进一步的分析和使用。

9.使用发现的知识。进入最后一步,是体现知识价值的时候了。这里,需要将发现的知识在其他系统中实施,量化其带来的影响。这一步的成败,决定了整个数据挖掘过程的成败。而且会遇到很多挑战,比如发现的知识是从静态数据中获取,而不适用与实际的动态数据,实际的数据结构发生变化,数据的领域发生了变化等。

通过以上9步就可以完成一个数据挖掘任务,整个过程是迭代的,非常灵活。如发现问题,可以跳到前面的步骤进行调整,以保证目标的实现。




 

4.  SRISP-DM

CRISP-DMCRoss Industry Standard Process for Data Mining)即跨行业数据挖掘标准流程1999年,SIGCRISP-DMSpecial Interest Group)组织开发并提炼出CRISP-DM,同时在Mercedes-BenzOHRA(保险领域)企业进行了大规模数据挖掘项目的实际试用。SIG还将CRISP-DM和商业数据挖掘工具集成起来。SIG组织目前在伦敦、纽约、布鲁塞尔已经发展到200多个成员。2000年,CRISP-DM 1.0版正式推出,应该说CRISP-DM是实际项目的经验总结和理论抽象,并被设计成行业独立、工具独立和应用独立。CRISP-DM强调,DM不单是数据的组织或者呈现,也不仅是数据分析和统计建模,而是一个从理解业务需求、寻求解决方案到接受实践检验的完整过程。

数据挖掘过程模型研究「终于解决」

CRISP-DM方法论的四层次分解模型

CRISP-DM数据挖掘方法论用层次过程模型描述,包括四个抽象层次构成的任务集合:阶段、一般任务、具体任务和过程实例。

在模型的顶层,数据挖掘过程由一些阶段组成,每个阶段包括若干个第二层的一般任务。一般任务层设计得尽可能完全和稳定。第三层为具体任务层,描述一般任务层的活动如何在某一具体环境中实施。具体任务是以不连续步骤的方式执行的,这种描述理想化地表示了一个事件序列。第四层是过程实例,是有关一次实际数据挖掘项目的活动、决策和结果的记录。它表示一个特定项目中发生的实际情况,而不是一般情况。

数据挖掘过程模型研究「终于解决」

CRISP-DM过程模型的六个阶段

CRISP-DM模型为一个数据挖掘工程提供了一个完整的过程描述。该模型将工程分为6个不同的,但顺序并非完全不变的阶段。阶段顺序不是严格不变的,这取决于每一阶段或一个阶段某一特定任务的结果,这个结果是下一阶段必须的。上图的外圈象征数据挖掘自身循环的本质――通过挖掘过程得到的知识还可以进一步挖掘,发现新的知识,通常是更聚焦的商业问题。后续的过程可以从前一个过程得到益处。箭头指出了阶段之间最重要和频繁的关联依赖。

4.1.商业理解

第一阶段集中在理解项目目标和从业务的角度理解需求,将商业问题转化为数据分析问题,同时生成数据挖掘问题定义和完成目标的初步计划。问题定义中,要说明工作开展的背景,问题的业务价值,工程结果的评价标准。在计划中要写明牵头和配合部门,各个角色的主要任务,整个工程各阶段的时间安排。由于数据挖掘小组可能对涉及的业务并不是特别熟悉,这一阶段通常需要业务专家的参与。

数据挖掘过程模型研究「终于解决」

4.1.1.确定商业目标

数据挖掘小组的第一个任务是从商业角度全面理解客户真正要达到的目标。通常客户有很多目标,不得不进行权衡。分析师要在一开始就揭示出影响项目结果的重要因素。忽略这个步骤的一个可能后果是花费了大量精力却只是对错误问题给出了正确答案。

任务的输出包括:

背景:记录项目开始时了解到有关公司商业环境的信息。

商业目标:从商业角度描述客户的主要目标。

商业成功的标准:从商业角度来描述项目结果是成功或是有用的。标准要尽量具体并能被客观度量。

4.1.2. 环境评析

本任务涉及到更详细的当前各种条件的评估:资源、约束、假设及其它一些在确定数据分析目标和项目计划时也要考虑到的因素。在前一个任务中,目标的确定使得工程涉及的关键因素得以明确,在这一任务中,需要将其细化。

任务的输出包括:

资源目录:列出项目可用的资源,包括:人员(业务专家、数据专家、技术支持人员、数据挖掘工程师等),数据(固定抽取的、从仓库获取等),计算资源(硬件平台)和软件(数据挖掘工具、其它相关软件)。

需求、假设和约束:列出项目的全部需求,包括完成项目的时间表、结果和安全方面的要求,甚至法律的问题。列出项目制定的假设,包括有关数据的假设或者商业有关的假设。列出项目的约束,包括资源方面的限制或技术上的约束。

风险和费用:列出可能导致项目延期或失败的风险或事件,以及出现风险时,应该采取何种行动。列出费用计划。

术语:列出项目有关的术语表,包括商业有关的数据和数据挖掘有关的术语。

成本和收益:对项目进行成本和收益分析,比较项目成本与成功后带来的可能收益。比较应尽可能详细,可以采用货币金额进行比较。

4.1.3. 确定数据挖掘目标

商业目标是以商业术语描述的,而数据挖掘目标是以技术术语描述的项目目标。

任务的输出包括:

数据挖掘目标:描述项目的预计输出,该输出使得商业目标得以实现。

数据挖掘成功标准:以技术术语定义项目结果成功的标准。如果必须以主观的方式来描述标准,那么应该说明哪些人做出这个判断。

4.1.4. 制定项目计划

本任务描述为达到数据挖掘目标而确定的计划。计划应详细列出项目后续期间需要完成的一系列步骤,包括最初对工具和技术的选择。

任务的输出包括:

项目计划:列出项目需要经历的各个阶段,包括持续时间、需要的资源、输入、输出和关联性。作为项目计划的一部分,分析时间进度和风险之间的关联也是很重要的。在项目计划中应该明显地标记应对风险的行动和建议。项目计划是一个动态文档,在每个阶段结束时,需要对进展和成果进行重审,因此建议对项目计划做相应地更新。

工具和技术的初步评估:要完成对工具和技术的初步评估。由于工具和技术的选择可能影响整个项目,因此需要早些做出评估。

4.2.数据理解

数据理解阶段从初始的数据收集开始,首先要根据第一阶段的结果梳理出需要和可用的数据源(比如某些系统、工具,或者某些部门的存档文件),最好能够取到样本数据和数据结构说明。然后是熟悉数据,这一步需要理解表中每个字段的含义,表之间的关联关系,如果是多数据源,还要弄清多数据源间的关联关系。最后还要识别数据的质量问题,比如外键存在问题导致无法关联、数据单位不统一等。这一阶需要相关部门的配合,包括提供数据、提供数据结构,并给予小组人员业务知识的支持,协调成本较高。小组成员也要对业务知识进行深入的学习,深刻理解问题定义和工程目标,否则会走弯路或者得很难得到理想的结果。在数据理解阶段,可能会发现更有价值的信息或者新的困难,因此需要返回商业理解阶段对目标和计划进行调整。

数据挖掘过程模型研究「终于解决」

4.2.1. 收集原始数据

在项目范围内,列出所需的数据。联系相关部门,为理解数据收集样本数据。如果涉及多个数据源,数据整合会存在一定困难。

任务的输出包括:

原始数据收集报告:列出获得的数据集,包括获得方式以及遇到的问题。记录问题的解决方案,便于后续类似工作的开展。

4.2.2.描述数据

分析获取到的数据 ,根据数据情况给出结果报告。

任务的输出包括:

数据描述报告:描述已获得的数据,包括数据格式、数据质量。比如各个表的字段数、主键、外键、记录总数等。评估是否满足要求。

4.2.3.探索数据

采用可视化报告的方式,对数据进行进一步分析。包括关键属性,属性间的关系,简单统计汇总结果,显著的聚类特征等。这些分析可能直接面向数据挖掘目标,也可能有助于撰写数据描述与质量报告,或者数据转换准备工作。

任务的输出包括:

数据探索报告:说明初步的发现以及对项目后续阶段的影响。有可能的话,可以把揭示数据特征的图表写入报告,这些图表可能会引出令人感兴趣的数据子集,用来进一步分析。

4.2.4.检验数据质量

检查数据的质量,包括数据完整性、正确性,问题数据的占比。常见的数据问题有:数据没有覆盖全部的情况、存在空值或错误的值等。

任务的输出包括:

数据质量报告:列出数据质量检验的结果,若存在问题,尽可能地提供解决办法。质量问题的解决办法通常很大程度上依赖于数据和商业知识。

4.3.数据准备

数据准备阶段对可用的原始数据进行一系列的组织以及清洗,使之达到建模需求。任务包括数据挖掘方法的初步选择,表、属性和记录的选择,以及为模型工具转换和清洗数据。首先要根据问题确定数据挖掘方法,找出需要完成算法的数据表和字段,然后根据使用的工具对数据进行数据清洗和格式转换。数据清洗是保证结果正确的关键步骤,包括数据一致性处理,无效值、缺失值处理等,是较有挑战的一项工作,可能会遇到意想不到的困难。该阶段与建模阶段关系十分紧密,如果在建模过程中遇到数据问题就要重新调整数据准备阶段的任务,因此任务有可能执行多次,没有任何规定的顺序。

数据挖掘过程模型研究「终于解决」

4.3.1. 选择数据

确定用于分析的数据。确定的标准包括:与数据挖掘目标的相关性、数据质量、技术限制。

任务的输出包括:

包含/排除数据:列出采用和排除的数据,精确到属性(列)和记录(行)。

4.3.2.清洗数据

使用选择好的工具提升数据质量。涉及到数据清洗子集的选择、缺省值的插入、更高级的技术。

任务的输出包括:

数据清洗报告:根据数据理解阶段由检验数据质量任务所报告的数据质量问题描述,提高数据质量。分析数据清洗的结果和潜在影响。

4.3.3.构造数据

该任务包括构造性的数据准备操作,比如派生属性、全新记录的生成活现有属性值的转换。

任务的输出包括:

派生属性:派生属性是在同一记录中的一个或多个既有属性基础上构造出来的新属性。

生成记录:分析需要但现有数据又无法提供,而且从建模来看,可以逻辑清晰地生成该部分数据,那么可以采用生成数据的方式进行数据的补充。

4.3.4.整合数据

提供方法,从多个表或记录中组合生成新的信息,构造出新的记录或值。

任务的输出包括:

合并数据:表合并是指把相同对象的两个或多个表合并在一起。合并数据也会涉及到聚合。聚合指通过汇总从多条记录或多个表的信息来计算新的值。

4.3.5.格式化数据

对数据进行不改变数据含义的修改,可能需要使用建模工具。

任务的输出包括:

格式化后的数据:一些数据挖掘工具对属性的顺序有特别的要求,所以数据需要进行调整。也可能会出现改变数据集中记录顺序的需求(比如按某列排序)。当然有的数据挖掘工具能够进行自动的处理,不需要人工干预。还有些比如特殊符号替换等不改变数据含义的修改需求。

4.4.模型建立

在这个阶段,小组成员可以选择和应用不同的数据挖掘技术建立模型,通过数据挖掘工具,经过多次执行,调整模型参数得到最佳的数值。一般,有些技术可以解决一类相同的数据挖掘问题。有些技术对数据有特殊要求,因此需要经常跳回到数据准备阶段进行调整。如果遇到数据无法支持得到满意结果的时候,就需要考虑换一种数据挖掘方法,重新准备数据。本阶段需要小组成员对数据挖掘算法有较为深刻的认识,并会使用至少一种数据挖掘工具。通常由多个人进行多个模型的建立,通过查全率、查准率、可信度、处理性能等指标得到最优的模型。

数据挖掘过程模型研究「终于解决」

4.4.1. 选择建模技术

建模的第一步是选择适用的建模技术。尽管在商业理解时,已经选择了工具,这里指的是具体的建模技术。若有多种技术可用,就按每种技术分别执行。

任务的输出包括:

建模技术:文档化将要适用的实际建模技术。

建模假设:很多建模技术需要对数据进行特殊的假设,比如属性具有相同的统计分布、没存在缺失值等。

4.4.2.生成测试设计

在实际的建模之前,需要制定一个测试模型质量和有效性的程序。例如在有监督数据挖掘任务中,使用错误率作为衡量质量的指标。因此通常把数据集分成训练集和测试集,在训练集上建立模型,在分开的测试集上评估模型质量。

任务的输出包括:

测试设计:完成训练、测试和评估模型的确定计划。计划主要是确定如何分割可用数据集为训练集、测试集和验证集,还有评价指标。

4.4.3.建立模型

在准备好的数据集上运行建模工具,创建一个或多个模型。

任务的输出包括:

参数设置:模型通常需要大量的参数调整。列出这些参数的含义和设置规则,以及最终的值。

模型:由建模工具产生的实际模型。

模型描述:生成模型的解释报告,注明含义以及可能遇到的问题。

4.4.4.评估模型

数据挖掘工程师根据领域知识、数据挖掘成功标准和既定的测试设计来评估模型。鉴于数据挖掘工程师可能会过于从技术角度进行判断,所以应该与商业分析师和业务专家接触,以商业中的方式来讨论得到的数据挖掘结果。数据挖掘工程师多次应用一个技术或采用不同的可选技术产生数据挖掘结果。在这个任务中,需要参照评估标准比较全部结果。

任务的输出包括:

模型评估:列出全部建成模型的质量特性以及模型之间的质量等级比较次序。

修订参数设置:根据模型评估,修订参数设置以完成下轮建立模型的任务。通常需要反复地进行模型建立和评估,直到确信已找到最好的模型为止。在文档中记录下所有修订和评估。

4.5.评价

本阶段具体考虑得出的结果是否符合第一阶段制定的商业目的。到项目的这个阶段,已经从数据分析的角度建立了一个高质量的模型。在部署模型之前,需要彻底地评估模型,检查构造模型的步骤,确保模型可以完成业务目标。这个阶段的关键目的是确定是否有重要业务问题没有被充分的考虑。

数据挖掘过程模型研究「终于解决」

4.5.1. 评价结果

前面的评估步骤处理的是模型准确度和一般性因素。本阶段评估的是模型适合商业目标的程度并找到一些商业理由来说明某个模型的不足。在时间和预算许可的情况下,另一个非必需的评估是在实际应用中同步运行测试应用来测试模型。

任务的输出包括:

根据商业成功标准评价数据挖掘结果:使用商业成功标准对结果进行评价,包括项目是否满足既定的商业目标的最终声明。

核认模型:完成商业成功标准评价后,满足标准的模型即为被核准认可的模型。

4.5.2.重审过程

到这里似乎得到了令人满意的结果了。现在对项目合同做一个全面的重审,以确定是否有任何重要因素或任务被忽略了。重审也涉及到一些质量问题的确认。

任务的输出包括:

过程的重审:概述过程重审并特别注明被忽略的活动或应该重复的活动。

4.5.3.确定下一步

根据评价的结果和过程重审,确定项目应该如何推进,需要决定是结束之前的阶段进入部署阶段还是继续重复前面的阶段,甚至创建新的数据挖掘项目。本任务也包括了影响决策的遗留资源和预算分析。

任务的输出包括:

可能活动列表:列出潜在的进一步活动,并给出支持和反对的理由。

最终决定:说明有关合理推进项目的最终决定。

4.6.部署

模型的作用是从数据中找到知识,获得的知识需要以便于用户使用的方式重新组织和展现。根据需求,这个阶段需要产生数据挖掘报告,或是实现一个比较复杂的、可重复的数据挖掘过程。

数据挖掘过程模型研究「终于解决」

4.6.1. 规划部署

为把数据挖掘结果部署到商业环境,本任务利用评估结果并给出部署的策略。如果某个一般性程序已经被认为可以创建相关模型,则为了后面的部署,要进行记录。

任务的输出包括:

部署计划:描述部署策略,包括必要的步骤及如何执行这些步骤。

4.6.2.规划监控和维护

数据挖掘结果成为日常运作的商业及其环境的一部分时,监控和维护就成为重要问题。对维护策略的细致准备有助于避免数据挖掘结果长期被不正确地应用。为监控数据挖掘结果的部署,还需要一个详细的计划来监控过程。

任务的输出包括:

监控和维护计划:描述监控和维护策略包括必要的步骤和如何执行这些步骤。

4.6.3.生成最终报告

项目即将结束,项目组提供最终报告。报告可能仅对历程进行概述,也可能是一份对数据挖掘结果的全面报告。

任务的输出包括:

最终报告:关于数据挖掘项目合同的最终书面报告。列出可交付的成果。

最终陈述:召开项目总结会,将结果向客户说明。

4.6.4.回顾项目

对项目过程中进行总结,列出经验和需要改进的地方。

任务的输出包括:

经验文档:描述获得的重要经验,比如容易出错的地方、处理疑难问题的过程、数据挖掘技术的选择经验等。最好能有每个项目成员的经验报告。




 

5.  参考文献

www.crisp-dm.orgCRISP-DM 1.0

GuoShiRenCRISP-DM数据挖掘指南

Steve MoyleCollaborative Data Mining

Oded MaimonData Mining and Knowledge Discovery Handbook

 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/26140.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信