学习笔记2:数据挖掘流程探索

浏览: 2814

前言

数据挖掘有很多不同的实施方法,如果只是把数据拉到Excel表格中计算一下,那只是数据分析,不是数据挖掘。在本文中,笔者主要将不同的数据挖掘流程进行了简单的整理和概括。第一部分汇总的是数据挖掘的一般步骤。在第二三部分中则主要整理了当今主流和最常用的两种数据挖掘流程CRISP-DMSEMMA。同时在介绍完上述两种流程后,鉴于笔者将要使用SMARTBI软件中的Smart Mining进行对数据挖掘的学习,文章的第四部分还将介绍由SMARTBI软件公司总结出的AOSP-SM方法。


一、数据挖掘的一般步骤

从数据本身来考虑,数据挖掘通常需要有信息收集、数据集成、数据规约、数据清理、数据变换、数据挖掘实施过程、模式评估和知识表示8个步骤。

  1. 信息收集:根据确定的数据分析对象,抽象出在数据分析中所需要的特征信息,然后选择合适的信息收集方法,将收集到的信息存入数据库。对于海量数据,选择一个合适的数据存储和管理的数据仓库是至关重要的。
  2. 数据集成:把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享。
  3. 数据规约:如果执行多数的数据挖掘算法,即使是在少量数据上也需要很长的时间,而做商业运营数据挖掘时数据量往往非常大。数据规约技术可以用来得到数据集的规约表示,它小得多,但仍然接近于保持原数据的完整性,并且规约后执行数据挖掘结果与规约前执行结果相同或几乎相同。
  4. 数据清理:在数据库中的数据有一些是不完整的(有些感兴趣的属性缺少属性值)、含噪声的(包含错误的属性值),并且是不一致的(同样的信息不同的表示方式),因此需要进行数据清理,将完整、正确、一致的数据信息存入数据仓库中。不然,挖掘的结果会差强人意。
  5. 数据变换:通过平滑聚集、数据概化、规范化等方式将数据转换成适用于数据挖掘的形式。对于有些实数型数据,通过概念分层和数据的离散化来转换数据也是重要的一步。
  6. 数据挖掘过程:根据数据仓库中的数据信息,选择合适的分析工具,应用统计方法、事例推理、决策树、规则推理、模糊集,甚至神经网络、遗传算法的方法处理信息,得出有用的分析信息。
  7. 模式评估:从商业角度,由行业专家来验证数据挖掘结果的正确性。
  8. 知识表示:将数据挖掘所得到的分析信息以可视化的方式呈现给用户,或作为新的知识存放在知识库中,供其他应用程序使用。

数据挖掘过程是一个反复循环的过程,每一个步骤如果没有达到预期目标,都需要回到前面的步骤,重新调整并执行。不是每件数据挖掘的工作都需要这里列出的每一步,例如在某个工作中不存在多个数据源的时候,步骤(2)便可以省略。步骤(3)数据规约、步骤(4)数据清理、步骤(5)数据变换又合称数据预处理。在数据挖掘中,至少60%的费用可能要花在步骤(1)信息收集阶段,而其中至少60%以上的精力和时间花在了数据预处理过程中。

二、CRISP-DM过程描述

CRISP-DM (cross-industry standard process for data mining),即为“跨行业数据挖掘标准流程”。此KDD过程模型于1999年欧盟机构联合起草。通过近几年的发展,CRISP-DM 模型在各种KDD过程模型中占据领先位置,采用量达到近60%。一个数据挖掘项目的生命周期包含六个阶段。这六个阶段的顺序是不固定的,我们经常需要前后调整这些阶段。这依赖每个阶段或是阶段中特定任务的产出物是否是下一个阶段必须的输入。

                                                                    3(2).PNG

上图的外圈象征数据挖掘自身的循环本质――在一个解决方案发布之后一个数据挖掘的过程才可以继续。在这个过程中得到的知识可以触发新的,经常是更聚焦的商业问题。后续的过程可以从前一个过程得到益处。具体步骤如下:

  1. 业务理解(BusinessUnderstanding):最初的阶段集中在理解项目目标和从业务的角度理解需求,同时将这个知识转化为数据挖掘问题的定义和完成目标的初步计划。
  2. 数据理解(DataUnderstanding):数据理解阶段从初始的数据收集开始,通过一些活动的处理,目的是熟悉数据,识别数据的质量问题,首次发现数据的内部属性,或是探测引起兴趣的子集去形成隐含信息的假设。
  3. 数据准备(DataPreparation):数据准备阶段包括从未处理数据中构造最终数据集的所有活动。这些数据将是模型工具的输入值。这个阶段的任务有个能执行多次,没有任何规定的顺序。任务包括表、记录和属性的选择,以及为模型工具转换和清洗数据。
  4. 建模(Modeling):在这个阶段,可以选择和应用不同的模型技术,模型参数被调整到最佳的数值。一般,有些技术可以解决一类相同的数据挖掘问题。有些技术在数据形成上有特殊要求,因此需要经常跳回到数据准备阶段。
  5. 评估(Evaluation):到项目的这个阶段,你已经从数据分析的角度建立了一个高质量显示的模型。在开始最后部署模型之前,重要的事情是彻底地评估模型,检查构造模型的步骤,确保模型可以完成业务目标。这个阶段的关键目的是确定是否有重要业务问题没有被充分的考虑。在这个阶段结束后,一个数据挖掘结果使用的决定必须达成。
  6. 部署(Deployment):通常,模型的创建不是项目的结束。模型的作用是从数据中找到知识,获得的知识需要便于用户使用的方式重新组织和展现。根据需求,这个阶段可以产生简单的报告,或是实现一个比较复杂的、可重复的数据挖掘过程。在很多案例中,这个阶段是由客户而不是数据分析人员承担部署的工作。

事实上,就方法学而言,CRISP-DM并不是什么新观念,本质来看就是在分析应用中提出问题、分析问题和解决问题的过程。而可贵之处在于其提纲挈领的特性,非常适合工程管理,适合大规模定制,以至CRISP-DM如今已经成为事实上的行业标准。

三、SAS数据挖掘方法论——SEMMA

SEMMA包含Ssample)、Eexplore)、Mmodify)、Mmodel)和Aaccess)共五个部分。他们在数据挖掘的流程中又起到各自不同的作用。限于篇幅,主要概括如下:

1Sample──数据取样

    当进行数据挖掘时,首先要从企业大量数据中取出一个与你要探索问题相关的样板数据子集,而不是动用全部企业数据。通过数据样本的精选,不仅能减少数据处理量,节省系统资源,而且能通过数据的筛选,使你想要它反映的规律性更加凸现出来。

2Explore──数据特征探索、分析和处理

当我们拿到了一个样本数据集后,它是否达到我们原来设想的要求;其中有没有什么明显的规律和趋势;有没有出现你所从未设想过的数据状态;因素之间有什么相关性;它们可区分成怎样一些类别……这都是要首先探索的内容。这里的数据探索,就是我们通常所进行的深入调查的过程。你最终要达到的目的可能是要搞清多因素相互影响的,十分复杂的关系。

3Modify──问题明确化、数据调整和技术选择

通过上述两个步骤的操作,对数据的状态和趋势可能有了进一步的了解。对原来要解决的问题可能会有了进一步的明确;这时要尽可能对问题解决的要求能进一步的量化。没有问题的进一步明确,就无法进行有效的数据挖掘操作。需要注意的是:在数据挖掘的各个阶段中,数据挖掘的产品都要使所使用的数据和所将建立模型处于十分易于调整、修改和变动的状态,这才能保证数据挖掘有效的进行。

4Model──模型的研发、知识的发现

这一步是数据挖掘工作的核心环节。按照SAS提出的SEMMA方法论走到这一步时,你对应采用的技术已有了较明确的方向;你的数据结构和内容也有了充分的适应性。SAS在这时也向你提供了充分的可选择的技术手段:回归分析方法等广泛的数理统计方法;关联分析方法;分类及聚类分析方法;人工神经元网络;决策树……等。

5Assess──模型和知识的综合解释和评价

从上述过程中将会得出一系列的分析结果、模式或模型。同一个数据源可以利用多种数据分析方法和模型进行分析,ASSESS 的目的之一就是从这些模型中自动找出一个最好的模型出来,另外就是要对模型进行针对业务的解释和应用。若能从模型中得出一个直接的结论当然很好。但更多的时候会得出对目标问题多侧面的描述。这时就要能很好的综合它们的影响规律性提供合理的决策支持信息。所谓合理,实际上往往是要你在所付出的代价和达到预期目标的可靠性的平衡上做出选择。假如在你的数据挖掘过程中,就预见到最后要进行这样的选择的话,那末你最好把这些平衡的指标尽可能的量化,以利你综合抉择。

四、SMARTBI软件提供的新方法——AOSP-SM

AOSP-SM(即"应用为导向的敏捷挖掘标准流程"的缩写)是SMARTBI开发者们基于IBM的跨行业数据挖掘过程标准(CRISP-DM)和SAS的数据挖掘方法(SEMMA)总结而来的一种面向应用的用于指导数据挖掘工作的方法。

作为一种方法,它包含项目中各个典型阶段的说明、每个阶段所包含的任务以及这些任务之间的关系的说明。作为一种流程化建模方法论,AOSP -SM 概述了数据挖掘的整个过程。

                                                                          4.png

整个流程由五个阶段组成,阶段之间并不一定要严格遵守顺序。实际上,大多数项目都会根据需要在这些阶段之间反复中优化。AOSP-SM 模型具备灵活性,并不一定完全按照这几步完成。

步骤1:商业目标

1、确定业务目标:这是我们开始数据挖掘的第一步。在我们确定是否要启动数据挖掘项目时,首先要对相应的业务进行梳理。通过对业务进行了解,可以明确业务中存在问题,以及是否可以通过数据挖掘的手段解决相应的问题。

2、评估情况:既然已经有了一个明确指定的目标,现在应该评估处于什么情况。这一步骤需要询问一些问题。

3、确定数据挖掘目标:既然已经明确了业务目标,现在应该将其转换为数据挖掘目标。

4、制定实施方案:现在,可以制定数据挖掘项目的计划了。之前询问的那些问题以及详细制定的业务和数据挖掘目标将作为这个路线图的基础。

步骤2:数据准备

1、选择数据:企业数据来自各种不同的数据源,例如:企业内部数据、外部行业数据和互联网数据。为了提高数据的效率,降低分析大数量的难度,首先应该想尽办法降低数据量,尽快排除与数据挖掘目标不相关的数据。

2、数据审核:数据审核的工作是非常必要的,因为数据从来都不是完美的,只有保证输入的质量,才可以保证模型输出成果的可靠。

3、数据转换:是数据挖掘最重要的阶段之一,通常需要花费大量的时间。在前期阶段投入足够的精力可以将对这一阶段的投入降至最低,但仍需花费大量的精力为建模准备。

4、优化输入:模型优化通常有三种办法:一是换更适用的模型;二是补充新的数据,将更多重要的影响因素补充进来,由于可获得数据在前期已经全部获取,这意味着要从外部获取数据,往往很难行得通,至少短时间之内很难做到,只能作为长期计划;三是基于现有的变量计算生成更多更有代表性的数据,而这种方法才是实际中最常用也最可行的方法,也团队急需的一种能力。

步骤3:建模

1、建模概述:数据准备主要是面向模型而准备,当制定了项目实施方案时,基本已确定分析思路和计划使用的算法。建模时通常会执行多次迭代。仅使用一个模型且仅执行一次就能圆满地解答组织的数据挖掘问题,这样的情况几乎不存在。

2、选择建模技术:尽管可能已经知道哪种类型的建模方式可以尝试,但现在还无法确定使用哪个模型是最好的。

3、模型测试设计:一个好的模型不仅要准确更要稳定。为了最终测试模型的优劣,需要提前设计一个测试标准。

4、构建模型:通常我们对预判出的最好的前三种模型分别进行建模,从三种模型中分别训练出最优的模型。

5、评估模型:得到的模型是否有效,不仅要看模型的准确度,更要看模型的稳定性。同时还要安排测试工程师审核整个建模过程,保证建模的合理性,包括再次确认是否模型中引入了不合理的变量以及字段取值是否失衡。

步骤4:评估

1、评估概述:在建模阶段构建的模型从技术上说是正确而且有效的。但是,前面的模型还不能直接运用到商业中去。还应该使用在项目开始时设立的业务成功标准评估模型。

2、评估结果:在这个阶段,将对项目结果是否达到业务成功标准的评估进行规范。此步骤要求对声明的业务目标有清晰地了解,因此请确保在项目评估时包含关键决策制定者。

3、确定后续步骤:至今为止,已经生成了结果并且评估了的数据挖掘过程,这一阶段将帮助根据数据挖掘业务目标回答上述问题。

步骤5:应用

1、概述:数据挖掘可以生成两种类型的成果:在前期阶段中选定的最终模型;从模型本身以及数据挖掘过程中得出的任意结论或推论,包括派生的一些重要的KPI指标、数据质量或业务流程优化方案、未来规划等。

2、生成最终报告:在系统开发完成后,一般需要一个月的测试,和3个月到半年的试运行(根据项目的大小不同,这个周期也会也不一样,并不都需要这么长的周期)。在这期间要做好监控和维护。因此,要根据监控的结果编写监控报告和评估报告。另外,还要对项目的整个开发过程的资料进行整理备案,以便今后研究、系统维护和经验分享。同时需要系统建模一个验证子系统,不断监控模型状态并追踪模型应用效果,有利于及时发现模型出现的新问题以及模型优化的新思路。

3、执行方案:在系统试运行结束后,可以正式将挖掘成果运用到商业环境中,为企业创造价值。

注:本文正文部分分别由整理谭磊《大数据挖掘》、SAS_Miner博客《SAS数据挖掘方法论 SEMMA》和SMARTBI教学资料而来,仅作学习笔记以供学习之用。

五、小结

    经过对四种数据挖掘流程的整理和观察比较,我们可以看到数据挖掘流程的不固定性和随实际情况的变化性,这既为面临实际问题带来了难度,同时也带来了自由发挥的空间和趣味性。在接下来的文章里,笔者将会尝试通过AOSP-SM方法去体会、分析一些实际应用案例,来进一步提高自己对数据挖掘的了解和体会。

推荐 3
本文由 xjh_buaa 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

1 个评论

谢谢分享

要回复文章请先登录注册