-- 作者:DMman
-- 发布时间:6/9/2007 9:48:00 PM
-- 数据挖掘过程模型[转帖]
1. 引言 2. 数据挖掘和数据挖掘过程 3. 数据挖掘过程模型5A 4. 数据挖掘过程模型CRISP-DM 5. 开发和应用数据挖掘系统 6. 结束语 关键词:数据挖掘过程,数据挖掘过程模型,数据挖掘系统,CRISP-DM 摘要: 数据挖掘技术目前在国内正逐渐实用起来。本质上,数据挖掘过程模型是为应用数 据挖掘技术提供一种系统化的技术实施方法。由于数据挖掘的应用领域极其广泛、应用问 题的类型也较多,因此,为了成功的应用数据挖掘技术,围绕数据挖掘过程需要涉及:问 题的理解,数据的理解、收集和准备,建立数据挖掘模型,评价所建的模型,应用所建的 模型等一系列任务。这里,数据挖掘系统应该提供支持所有这些任务的必要手段和功能, 并最大限度地为用户使用这些功能提供方便的接口、选择和操作。许多数据挖掘系统的开 发商为其用户提出了一些应用数据挖掘技术的“过程参考模型”,如5A、SEMMA。同时,一 些区域组织和跨国集团/公司鉴于数据挖掘技术在商业上的应用前景,也积极支持和推进数 据挖掘过程标准的研究,如欧洲委员会和相关行业的四个大公司支持的数据挖掘特别兴趣 小组提出了“数据挖掘交叉行业标准过程”(CRISP-DM)。一个专业数据挖掘技术咨询公 司Two Crows还提出了自己的数据挖掘模型。同时各种数据挖掘系统(或软件或工具)正面 向数据挖掘过程所要求的功能和方法而日趋完善。基于国内一些机构和企业正在实用数据 挖掘技术,或者正在开发面向某一应用领域或通用的数据挖掘系统,本文对数据挖掘过程的功能模型5A和方法学模型CRISP-DM作点介绍。 1.引言 从大量数据中挖掘有价信息和知识,以提供决策依据,这在目前已不是不可能,实 施的技术即是数据挖掘(Data Mining)。但由于数据挖掘过程并非简单,且各种数据挖掘 的算法方法所适用的问题及其能力存在差异,因此系统化、规范化数据挖掘过程,以使用 户能成功的应用该技术,并开发出相应的软件系统显得尤为重要。鉴于国内一些机构和企 业正在实用数据挖掘技术,或者正在开发面向某一应用领域或通用的数据挖掘系统,本文 就当前可得的一些数据挖掘过程参考模型作些介绍。 2. 数据挖掘和数据挖掘过程 我们知道,数据挖掘是一个过程,它从大量数据中抽取出有价值的信息或知识。由 于每一种数据挖掘技术方法(算法及技术要求)都有其自身的特点和实现步骤(例如,对 输入/输出数据形式的要求、结构、参数设置、训练、测试和模型评价方式各自有不同的要 求,算法应用/适用领域的含义和能力存在差异);数据挖掘与具体应用问题的密切相关性 (应用数据挖掘所要达到的目标、数据收集完整程度、问题领域专家支持程度、算法选择 等),因此,成功应用数据挖掘技术、以达到目标的过程本身就是一件很复杂的事情。一 般,数据挖掘项目要经历的过程包括:问题的理解,数据的理解、收集和准备、建立数据 挖掘模型、评价所建的模型、应用所建的模型等一系列任务。这里,数据挖掘过程的系统 化、工程化方法学和支持系统(软件或工具)对解决应用问题起着至关重要的作用。为了 抽象系统化方法,人们提出了一些数据挖掘过程的参考模型或标准,如SPSS提出的5A (As sess-Access-Analyze-Act-Automate), SAS提出的SEMMA (Sample-Explore-Modify-Model -Assess);数据挖掘特别兴趣小组提出的“数据挖掘交叉行业标准过程”CRISP-DM(CRos s-Industry Standard Process for Data Mining),以及专业的数据挖掘技术咨询公司Two Crows提出的模型 (阶段包括:Define Business Problem-Build Data Mining Database-Explore Data-Prepare Data for Modeling-Building Model- Ev aluation Model-Deploy Model and Result)。在这些模型中,5A强调的是支持数据挖掘过 程的工具应具有的功能和能力,SEMMA强调的是结合其工具的应用方法,CRISP-DM则从方法 学的角度强调实施数据挖掘项目的方法和步骤,并独立于每种具体数据挖掘算法和数据挖 掘系统,Two Crows则是从其自身理解的角度借鉴前述方法,并在其上加以改进而提出的模 型。比较而言,由于5A和CRISP-DM分别从支持功能和方法学角度描述了数据挖掘过程,因 此对介绍数据挖掘过程较为合适。 3. 数据挖掘过程模型5A 5A模型认为任何数据挖掘方法学都由5个基本元素组成,即Assess, Access, Anal yze, Act, Automate。它们的含义是: Assess: 正确、彻底的评价任务的需求及数据。 Access: 方便、快速的存取任务所涉及的数据。 Analyze: 适当、完备的分析技术和工具。 Act: 推荐性、有说服力的原型演示。 Automate: 为用户提供最易于使用、最方便的自动化软件。 针对这个过程,5A描述了上述各元素在数据挖掘技术应用中所须完成的任务和应该 提供的支持功能,主要包括: Assess: · 按正确的含义理解和设置数据。 · 一旦充分理解了数据的上下文后,就可以正确地收集它并在其上做要求的决策。 · 软件技术方案可以不同,但问题含义相同。要理清含义,必须: · 将技术与组织的目标、策略和步骤结合起来。 · 世界范围的咨询和培训,目的是使交付高级分析工具给分析员时,他能快速实现。 Access: · 数据集合(DB,DW,DM)应该完全符合评价的需求和质量。若不充分,须补充附加的数 据。 · 选用的数据挖掘软件,不管是否配在数据集合上,它必须足够灵活的在所要求的数据上 工作,并满足下列存取准则: · 易于存取和连接各种数据源,包括数据表、公司数据库、数据仓库和其它必要的外部数 据库/源。 · 能直接从ASCII正文、数据表、数据库文件读入数据;直接连接扫描、识别软件。 · 能处理大量(几个GB以上)的数据文件。 Analyze: · 具备两类分析方法和工具:发现和验证,验证是为了检验发现工具所产生的结果是否合 理。 · 发现方法和工具:genetic algorithms, rule induction, fuzzy logic, data visua lization, clustering, factor analysis, neural networks, decision trees 等。 · 验证方法和工具:regression, logistic regression, discriminant analysis, for ecast modeling, structural equation models, ANOVA等。 · 理想的数据挖掘软件应该具备这两类分析方法和工具。同时应该包括下列分析特性: · 统计过程,范围和深度较强,应包括预测、分段、分类等。 · 集成商业和统计图形功能、具备多种可选的2D/3D图类,能用数据定点模式显示和跟踪 等。 · 辅助分析的模板、过程导引、示范、在线帮助等。能帮助分析员快速选择和获得结果。 · 数据、文件、中间结果管理功能。能合并和分离文件,选择数据子集,能处理数据缺值 、净化,改善数据完整性,支持IF-THEN-ELSE条件操作。 · 数据转换功能。有一组完备的转换函数支持变量/特征和条件的计算,可以重复计算、 编辑原来的变量/特征。 · 可裁减的工作环境。有脚本/宏语言支持的可重复任务的自动化、批处理及其菜单按钮 功能,以支持一般用户快速使用。 · 灵活的动态输出。表结果可以转动和轮换,易于观察数据全貌,易于用鼠标重新组织表 数据,以便于清晰的提交、观察、探索结果数据并做进一步的特殊分析。 · 基于线性回归和ANOVA的预测性建模,相关性、分类分析,预测等基本分析功能。 · 插件/模块功能。可以提供特殊的功能模块,以支持特定的分析。 Act: · 用大量的列表和图形、与公共办公软件平稳的接口来演示数据挖掘软件的能力。软件应 该提供快速回答用户提问的控制和灵活性,这样才便于用户更好和更快的做决策。 · 数据挖掘软件应该提供下面的演示特性: · 完好的集成图形功能,以提供专业级的演示。 · OLE 支持,以易于嵌入图表、节省报告时间。 · Internet特性,以易于图表的网上传输和本地察看。 · 演示模板特性,以节省编辑时间。 · 特殊查询功能,以利于快速提供附加的分析能力来响应用户的提问。 · 报告注解功能,以可加入注解或公司Logo到报告中。 Automate:面向用户操作尽可能完善和自动化软件应用过程。 · 吸取专业分析、决策人员及多数用户的意见和见解,以最快的方式显示分析结果,以标 准的接口、按钮式的功能/菜单、丰富的帮助、可选择的附加分析将软件呈现给用户。为此 应提供下列自动化功能: · OLE自动化开发者的机制,允许用户在通用代码级(VB,EXCEL,ACCESS,PB等)使用软 件。 · 内建编程语言/脚本/宏,使用户可以方便的创建自己的应用。 · 制作能力,能编写产生日常报告的命令行文件。 4. 数据挖掘过程模型CRISP-DM CRISP-DM模型1.0版是由几家相关开发和应用行业的跨国公司/集团所支持(并由欧洲 委员会部分支持)的一个特别兴趣小组在1997年7月到1999年4月间研究后提出的。这几家 公司是:数据仓库方案提供商NCR在丹麦的SEC公司,德国的汽车、航空航天、电信和咨询 业公司Daimler-Benz AG(后为Daimler-Chrysler),英国的数据挖掘系统开发商ISL(Cl ementine的研发商,1998年其成为SPSS的子公司)以及荷兰最大的银行、保险业公司OHRA 。该特别兴趣小组仍在继续工作。由于其直接动机是将数据挖掘技术转化为商业应用,所 提出的过程模型均在Daimler-Benz AG和OHRA的项目中进行实际实践和验证,因此具有一定 的代表性。CRISP-DM过程模型可图示如下: 图:CRISP-DM模型 它采用分层方法将一个数据挖掘项目的生存周期定义为6个阶段(phase)和4个层 次(level)。6个阶段为:Business Understanding,Data Understanding,Data Prepa ration,Modeling,Evaluation,Deployment,阶段间的顺序并不严格,阶段间有循环( 内层循环,见实线箭头方向),项目的总体实施是按阶段循环进行的(外层循环,见虚线 箭头方向)。4个层次是:phase,generic task,specialized task,process instance 。每个phase由若干generic task组成,每个generic task又实施若干specialized task, 每个specialized task由若干process instance来完成。其中,上两层独立于具体数据挖 掘方法,即是一般数据挖掘项目均需实施的步骤(What to do?),这两层的任务将结合 具体数据挖掘项目的“上下文”(context)映射到下两层的具体任务和过程。所谓项目的 “上下文”是指项目开发中密切相关、需要综合考虑的一些关键问题,如,应用领域、数 据挖掘问题类型、技术难点、工具及其提供的技术等。如何完成每个阶段所要完成的任务 及任务的输出所要求的必要映射活动(How to do?)在CRISP-DM 1.0版用户指南中作了较 为具体的描述。CRISP-DM 6个阶段的含义是: · Business Understanding:开始阶段专注于从商业的角度理解项目目标和需求,然后将 这种知识转换成一种数据挖掘的问题定义,并设计出达到目标的一个初步计划。 · Data Understanding:在数据理解阶段,先收集初步的数据,然后进行熟悉数据的各种 活动,包括识别数据的质量问题、找到对数据的基本观察、或假设隐含的信息来检测出感 兴趣的数据子集。 · Data Preparation:数据预处理阶段覆盖了从初步粗数据构造最终数据集合(将要输入 建模工具的数据)的所有活动。数据预处理任务很可能要执行多次,并且没有任何规定的 顺序。任务包括表、记 录属性的选择以及为了适合建模工具的要求对数据进行的转换和净 化(transformation and cleaning)。 · Modeling:在建模阶段,可以选择和应用各种建模技术,并将其参数校正到优化值。通 常,对同一个数据挖掘问题类型有几种可用的技术。某些技术对数据的形式有具体的要求 。因此,常常要退回到数据准备阶段。 · Evaluation:从数据分析的观点看,在开始进入这个阶段时已经建立了看去是高质量的 模型。但在最终扩展模型之前,更彻底地评价模型、对所建模型再次考察其执行的步骤、 并确信其正确地达到了商业目标是很重要的。这里,一个关键的目的是确定是否有某些重 要的商业问题还没有充分地考虑。在这个阶段的结尾,应该获得使用数据挖掘结果的判定 。 · Deployment:一般,创建完模型并不意味着项目结束。即使模型的目的是增加数据的知 识,所获得的知识也要用一种用户可以使用的方式来组织和表示。根据要求,扩展阶段可 以简单到只生成一份报告,或复杂到实现一个可重复的数据挖掘过程。在许多情况下,这 将由客户,而不是分析员,来实施。因为分析员来实施扩展将达不到预期的扩展效果,因 此在这之前,客户理解实际利用所建模型所要实施的动作很重要。 下表列出了每个阶段所包含的通用任务及每个任务要完成的输出(报告、计划、选择 、决定等): 表: CRISP-DM阶段、任务和输出 注:每个阶段中红色字段为通用任务,蓝色字段为阶段或任务要求的输出。 5. 应用和开发数据挖掘系统 通过上面介绍的数据挖掘过程模型所提供的方法,我们可以开发或选择适当的数据挖 掘系统并实施数据挖掘的应用项目。首先,明确一下应用、开发和系统的几种形式。我们 称支持数据挖掘过程的软件、工具或系统为数据挖掘系统,研发这样的系统为开发数据挖 掘系统,称将数据挖掘作为主要或一部分功能嵌入、并在实际应用中能获得有价信息和知 识的系统为数据挖掘应用系统,称利用数据挖掘系统作为开发工具来开发数据挖掘应用系 统为数据挖掘项目应用开发。这里要注意的是,由于数据挖掘项目有大有小、问题及其要 达到的目标各异、数据挖掘算法对数据集规模的要求、结果的表现和应用形式(如,描述 型模式、规则模式、可视化图表等)也不尽相同,因此,有些功能全的数据挖掘系统不仅 能支持数据挖掘过程,还能直接支持一些应用(如,一些统计分析员、实验室研究人员, 只要求从收集数据或实验数据中获得某些分析结论并用可视化图表表现出来,而并不想去 开发一个带有附加接口功能的应用系统;又如,一些仅由查询驱动的验证分析工具即可完 成任务的问题类型)。即,对这样的应用问题,没有必要再开发数据挖掘应用系统。 但是,数据挖掘技术的应用多数还是为了解决某些特定的难题,而嵌入在应用系统中 。例如,在证券系统中嵌入神经网络预测功能、在欺诈检测系统中嵌入欺诈行为的分类/识 别模型、在客户关系管理系统中嵌入客户成簇/分类功能或客户行为分析功能、在机器维护 系统中嵌入监/检测或识别难以定性的设备故障功能、在数据库营销中嵌入选择最可能购买 产品的客户功能、在机场管理系统中嵌入旅客人数预测、货运优化功能、在基因分析系统 中嵌入DNA识别功能、在制造/生产系统中嵌入质量控制功能等。这样一些应用就要利用数 据挖掘系统作为工具来开发应用系统所必须的数据挖掘功能。即,用数据挖掘系统来建立 数据挖掘模型。然后将模型嵌入应用系统中(这时,已脱离数据挖掘系统)解决难题。这 里要注意的是,由于时间的变化,数据也发生变化,数据中所含有的信息和知识也随之发 生变化(例如,在网络入侵检测系统中,新的入侵方法和行为不断出现和变化;在新产品 出现后,客户的兴趣会发生变化,客户类群也将发生变化),因此旧的模型需要更新。这 时必须重新在数据挖掘系统上、在包含新数据的情况下来建立新的模型,然后将新的模型 用于应用系统。一些数据挖掘系统(例如,DataEngine)为了不至于在建了新模型后,重新编译/联接应用系统,采用了一次编译技术,从而极大的方便了这种 类型的应用。 CRISP-DM V1.0中指出,开发数据挖掘项目时,每个阶段的任务和输出并不要求严格按 表中所列一应俱全。用户应该根据项目的“上下文”作相应的增减。因此,项目的“上下 文”决定了数据挖掘项目的通用任务及其到具体任务之间的映射。所以,首先在问题和数 据的理解上,即项目的需求和要采用的技术上要作深入和透彻的分析。例如,确定应用域 ,看数据挖掘是直接应用还是建模嵌入的开发应用;定位数据挖掘问题类型是描述摘要型 、分段型、分类形、概念描述型、预测型还是依赖性分析型,或者包含它们的组合;选择 与解决问题类型相配的数据挖掘技术,如,适用于分类型的技术有:神经网络、规则归纳 方法、决策树学习、遗传算法、基于情况的推理等,适用于分段型的技术有硬均值聚类( C-Mean)、模糊均值聚类(Fuzzy C-Mean)、神经网络等;评价与技术相配的数据挖掘系 统或开发数据挖掘系统所需的资源和成本。将这些关键点分析综合、确定之后,再进行阶 段和通用任务到具体任务和过程实例的映射。 如果要开发数据挖掘系统,除了支持数据挖掘过程所必须的功能以外,算法的验证和 检验也许是最具知识性和挑战性的工作。一方面,作为工具系统,挖掘算法的完备性、正 确性自然不必说,其精度检验和模型评价工具(包括可视化工具)应配套和健全;另一方 面,实际应用问题的检验至关重要。一种较好的方式是用被认可过的数据集和已经成熟的 工具系统所得的结果与所开发的数据挖掘系统中的算法结果进行比较。然后逐步调整和精 化。成熟的数据挖掘系统中,很少直接用标准算法而不修正的。 6. 结束语 数据挖掘技术是一项应用技术,但由于它本身涉及数学、统计学、人工智能理论、计 算机软件和应用问题领域的综合知识,因此其应用方法学对正确和成功应用该技术显得尤 为重要,而数据挖掘过程模型则正是提供这种应用方法的研究结果。数据挖掘系统则作为 支持过程模型的工具为实施这种应用提供了诸多的方便。上述对数据挖掘过程的介绍,只 是期望对当前了解和正确应用该技术起一定作用。
|