数据挖掘技术标准综述刘明亮.docx
- 文档编号:30597357
- 上传时间:2023-08-18
- 格式:DOCX
- 页数:28
- 大小:34.33KB
数据挖掘技术标准综述刘明亮.docx
《数据挖掘技术标准综述刘明亮.docx》由会员分享,可在线阅读,更多相关《数据挖掘技术标准综述刘明亮.docx(28页珍藏版)》请在冰豆网上搜索。
数据挖掘技术标准综述刘明亮
数据挖掘技术标准综述*)
刘明亮 李雄飞 孙 涛 许晓晴
(吉林大学计算机科学与技术学院 长春130012)
发展趋势。
2 数据挖掘业界标准
数据挖掘标准化问题还处于初级阶段,迄今没有形成公
认的统一标准。
按目前各种标准所解决问题方法和侧重点的
不同,将数据挖掘标准划分为四类。
(1)过程标准:
定义数据挖掘模型产生、使用和部署的过
程标准,如CRISP-DM和Fayyad过程标准等。
(2)接口标准:
为方便客户应用程序调用,针对具体编程
语言和系统提供的数据挖掘API接口,如,JDM,SQL/MM
等。
(3)语言标准:
针对数据挖掘问题定义,用于问题描述、知
识发现和表达的数据挖掘语言标准。
用统一的语言标准规范
数据挖掘平台和应用程序开发。
与SQL语言类似,已经设计
出数据挖掘查询语言(如,DMQL、MSQL和MineRule等)、
数据挖掘定义语言(如,PMML、CWMforDM等)和集查询、
定义和操纵于一体的通用数据挖掘语言(如,OLEDBfor
DM)。
(4)网络标准:
用于解决网络上分布式和远程数据挖掘问
题的数据挖掘Web标准,如,XMLforAnalysis,DataSpace,
SemanticWeb等。
2.1 数据挖掘过程标准
数据挖掘是分步骤、多角度数据分析和知识获取的过程。
为使数据挖掘过程与具体应用开发过程相结合,成为商业开
发的关键步骤,需要建立统一的过程标准。
这将有助于形成
一个可以有效记录工作经验的统一体系,能够加强项目计划
和项目管理;有助于新手顺利地完成数据挖掘的整个工作流
程;有利于详细规划和设计过程标准中的每个步骤,很好地控
制和降低项目的成本。
在此背景下数据挖掘过程标准应运而
生。
1996年出现了Fayyad[5]标准,1998年提出Cabena[6]标
准,1999年提出CRISP-DM[7](CrossIndustryStandard
ProcessforDataMining)标准,2001年的Cios[8]标准以及
SAS的SEMMA(Sample,Explore,Modify,Model,Assess)模
型等相继出现。
最初,Fayyad标准是应用最广泛的标准,如IBMIntelli-
gentMiner,DBMiner等都采用此标准。
它包含数据选择、数
据预处理、数据转换、数据挖掘和解释评估等五个步骤。
但
是,Fayyad模型是一个偏向于技术的模型,对商业问题的理
解、挖掘模型应用等缺乏指导性,因此不适合现代商业项目开
发。
Cabena标准虽然包含商业理解和模型部署阶段,但是没
有数据理解阶段,不利于数据挖掘模型和工具的选择。
Cios
是与CRISP-DM最为接近的标准,仅在过程中的反馈和每个
阶段有微小差异,但是后者更适用于解决商业问题。
SEM-
MA是SAS公司提出的一套行之有效的数据挖掘方法论,主
要是从探测和挖掘具体数据集的角度来实行,强调在最终确
定模式和模型前,要经过充分的探索和比较。
它也是一个更
偏向于技术的模型[9]。
目前,最有影响力的数据挖掘过程标
准是CRISP-DM,已得到20多家公司和企业认同,如IBM,
SPSS,SGI,NCR等都采用该标准,SPSS公司的数据挖掘工
具Clementine就是该标准的典型应用之一。
目前,CRISP-
DM已经成为应用最广泛的、事实上的工业标准[10]。
CRISP-DM是一个分级的过程模型,它将数据挖掘过程
分解成6个阶段和4个层次。
(1)理解商业背景:
确定商业目标,评估目前的情势,明确
数据挖掘目标并建立项目计划。
(2)理解原始数据:
收集并描述原始数据,检查和确认数
据的质量。
(3)数据准备:
选择、清理数据,数据综合并做数据标准
化。
(4)建立数据挖掘模型:
选择建模算法,产生测试模型,建
立模型和评估模型。
(5)评估:
评估数据挖掘的结果,监视数据挖掘过程并确
定下一步工作。
(6)部署:
制定数据挖掘实施计划,制定监控该计划实施
的方法,完成最终报告,最后回顾整个工程。
CRISP-DM标准的阶段和层次关系如图1所示。
图1 CRISP-DM过程模型
CRISP-DM的成功之处在于它是面向数据挖掘项目开发
的,并且与行业、背景、数据挖掘工具无关。
它可以将整个数
据挖掘过程同标准的商业过程相结合,把具体的商业目标映
射为数据挖掘目标,从而保障数据挖掘的结果能更好地指导
商业决策。
2.2 数据挖掘接口标准
在早期,数据挖掘服务提供商只能为应用程序或终端用
户图形界面提供后台算法,用户应用程序来调用数据转换,建
立模型,并完成测试和评估等过程,但是由于这些过程都与专
门的提供商有关,当用户拟采用多种数据挖掘解决方案时就
会遇到问题,不得不重新修改代码,调用工具商提供的服务。
为了使不同开发商的数据挖掘工具互连成为可能,各个数据
挖掘工具在不大量修改代码的情况下直接为终端用户提供服
务,提出了数据挖掘的接口标准。
目前主要有两种接口标准,SQL/MM(SQL/Multimedi-
a)[11]和JSR-073/JDM(JavaSpecificationRequest073/Java
DataMining)[13]。
2.2.1 SQL/MM标准
·6·
SQL语言是广泛应用的关系数据库语言。
数据挖掘可
以看成是对SQL语言基本数据操作的延伸,因此,可以通过
扩展SQL语言来标准化数据挖掘功能,为数据库系统和数据
挖掘系统集成提供一种标准接口,解决它们之间的松散耦合
问题。
SQL/MM是一个ISO/IEC的国际化标准项目,主要用
于定义纯文本数据、空间数据、静态图像数据和数据挖掘的标
准。
该标准的第6部分用来解决数据挖掘问题,为数据挖掘
模型的生成、测试以及应用等工作定义了标准的SQLAPI。
目前,SQL/MM可以支持分类、聚类、回归和关联规则四种数
据挖掘模型,并且允许用户使用自定义的数据类型和方法。
如,定义设置类型(SettingType)来存储用于生成模型的参
数,定义挖掘任务类型(TaskType)来控制数据挖掘任务的实
现,并且通过统一接口对数据挖掘结果进行测试和应用。
所有SQL类型值都存储在数据库表中,不需要标准的函
数来操纵模型的复制、更新和删除等操作,数据挖掘工具可以
通过扩展的SQL语言,以统一的方式实现数据挖掘功能。
此
外,SQL/MM还强制将PMML作为模型导入导出的标准,以
方便不同数据挖掘工具之间的数据交互。
但是,SQL/MM还没有统一的设置类型的标准格式,因
此不同的挖掘模型之间不能共享设置;对挖掘模型的支持也
很有限,需要进一步扩充;并且没有定义从挖掘对象中获取元
数据的方法等。
因此,SQL/MM应该同其它标准相结合,如
同JDM标准相结合定义统一格式的设置类型格式,同CWM
forDM标准结合定义统一的元数据模型和数据挖掘结构
等[12]。
2.2.2 JSR-073/JDM标准
JSR-073又称为JDM,由Oracle,Hyperion,IBM和SUN
Microsystems等组织联合提出,是为支持数据挖掘应用而开
发的纯Java接口。
它支持数据和元数据的创建、存储、访问
和维护以及数据挖掘模型的创建和使用。
利用JDM,数据挖
掘服务的实现者能够将单一、标准的API接口显露于前端的
应用程序开发者或者是Java2平台组件的开发者。
JDM主要有以下三个结构组件:
(1)应用程序编程接口。
终端用户的可视化部件需要通
过此接口调用数据挖掘引擎(DME)提供的数据挖掘服务。
一个应用程序开发者可以仅需要掌握此接口即可。
(2)数据挖掘引擎(DME)。
提供数据挖掘服务的基础架
构,终端用户通过接口调用它提供的数据挖掘服务。
(3)元数据仓库。
存储底层的数据挖掘对象,其可以基于
CWM框架。
JDM中有两个主要的概念:
设置和模型。
设置可分为功
能设置和算法设置两部分,它是一组用于构造数据挖掘模型
的输入参数的集合。
功能设置对象定义了支持的数据挖掘的
主要功能:
分类、回归、属性重要性分析、聚类和关联规则等,
它可以在不指明数据挖掘算法的情况下说明将要得到的数据
挖掘结果。
算法设置是指设置与数据挖掘算法相关的参数。
模型是功能设置在算法和数据上应用所得的结果,可用于直
接检验、精度测试、数据评分、输入到外部表示如PMML以及
作为数据挖掘引擎的模型输入等。
JDM是高度概括的、面向对象的数据挖掘概念模型。
它
可以与ISO的SQL/MM,以及DMG的PMML等标准配合
使用。
JDM的具体实现策略由开发商决定,由于JDM的接
口分为必须和可选两个部分,开发商可以根据需要实现其中
的一部分接口来实现自己的功能。
不过,JDM目前还缺乏网
络服务、数据转换、非结构化数据挖掘、多目标模型以及更多
的数据挖掘功能(如,特征提取和预测等)的接口,这些将在后
续的版本中添加[14]。
目前,JDM已经应用到了Oracle10gDataMining(ODM)
中。
ODM是Oracle10g数据库提供数据挖掘功能的可选组
件,其API采纳了JDM标准的概念和方法,允许用户利用统
一的JavaAPI编制挖掘程序,而模型的建立、测试和评估等
功能在数据库内部完成。
通过ODM客户端、PL/SQL和标
准的JavaAPI,开发者可以将数据挖掘功能无缝集成到具体
应用中[15]。
2.3 数据挖掘的语言标准
普遍认为关系数据库的成功在很大程度上取决于关系查
询语言SQL,尽管商品化的关系数据库都拥有各自的图形用
户界面,但是每个界面下面的核心都是关系查询语言。
人们
可以借鉴SQL语言,建立数据挖掘语言标准,从而实现数据
挖掘系统的标准化,支持统一的和交互的数据挖掘,便于灵活
有效的知识发现。
数据挖掘语言从早期的各个企业和研究单位自行研究和
开发,到现在的大的组织和联盟提出的各种不同类型的标准,
已经出现了很多不同的数据挖掘语言和标准,根据数据挖掘
语言的功能和侧重点不同,可以将它分为数据挖掘查询语言,
数据挖掘定义语言和通用数据挖掘语言三种。
2.3.1 数据挖掘查询语言
目前,在数据挖掘语言方面已经取得一些研发成果,如
JiaWeiHan等人定义的面向文本数据挖掘的查询语言
DMQL[16],Imielinski和Vermani提出的用于发现面板(Dis-
coveryBoard)数据挖掘系统的语言MSQL[17],以及由Meo,
Psalia和Ceri设计的用于查询关联规则的MineRule[18]等。
多数数据挖掘查询语言采用类似SQL语言的语法,提供
一些数据挖掘原语,用户通过这些原语制定数据挖掘任务。
数据挖掘原语通常从五个方面描述问题,即待挖掘的数据、挖
掘知识的类型、背景知识、兴趣度度量、模式的表示与可视化。
用户在数据挖掘过程中使用这些原语从不同的角度或深度与
系统进行交互式通信,达到知识发现的目的。
现今的数据挖掘查询语言没有形成统一的标准,不能解
决数据挖掘系统之间各自独立,难于嵌入大型应用系统的问
题。
2.3.2 数据挖掘定义语言
2.3.2.1 预言模型标记语言(PMML)
现有的描述数据挖掘结果的模型不能满足异构数据挖掘
系统中模型交换和使用的要求。
为复用和继承不同数据挖掘
系统的模型,需要制订统一的挖掘模型定义标准。
最著名的数据挖掘模型是模型标记语言(PMML)。
它由
数据挖掘组(DMG)于1999年7月提出,已经被W3C接受。
PMML模型采用XML语言的数据分层思想和应用模式,通
过XML解析器对输入和输出的数据类型、模型详细的格式、
数据挖掘结果模型等进行解析,使统计分析中预测模型具有
较强的可移植性。
PMML可以解决不同厂商开发的模型之
间的兼容性问题。
PMML由以下几个部分组成[19]:
(1)数据字典(DataDictionary)
用于定义模型输入属性,包含属性的名称,类型和范围。
不同的数据挖掘模型可以共用同一个数据字典。
(2)挖掘模式(MiningSchema)
挖掘模式用于描述数据挖掘对象,是数据字典中所有属
性的子集。
为适应数据挖掘模型需要,挖掘模式还包含特定
的属性描述信息。
如,针对属性的使用特性可描述为测试属
·7·
输入属性)、类属性(预测属性)或附加属性等。
(3)数据转换字典(TransformationDictionary)
利用转换函数,将数据转换成适合特定模型的数值,包含
数据的离散化、正则化和聚集等。
(4)模型统计(ModelStatistic)
记录模型使用属性的固有统计信息。
(5)挖掘模型(MiningModel)
PMML定义了多种数据挖掘的模型,如关联规则模型、
聚集模型、回归模型、朴素贝叶斯模型、决策树模型等。
虽然
各种数据挖掘模型的定义方法不同,但是在模型名称、功能描
述、挖掘算法定义,以及挖掘模式等属性上均有相同之处。
因
此,在同一个PMML文件中可以包含多个数据挖掘模型,这
些模型之间也可以组合使用。
PMML模型中各部分之间的联系参见图2。
图2 PMML模型示例
从数据输入到模型生成的整个过程可以看出,PMML挖
掘模型中的属性分为两种类型:
一种是挖掘模式描述的基本
属性,另一种是由数据转换字典导出的属性。
PMML模型有两种应用形式:
将PMML接口作为挖掘
工具接口API的一部分或者是用专门的PMML结果模型的
导入导出组件将挖掘工具的内部模型转换成PMML模型。
由于后者可以在内部生成符合自身算法的模型,因此应用更
加广泛。
PMML是使用最为广泛的数据挖掘标准之一。
国内外
很多公司已经采用PMML标准,如IBMDB2DWE(Data
WarehouseEnterprise),SAS的EnterpriseMiner和SPSS公
司的Clementine等。
作为数据挖掘模型结果的定义标准,
PMML还可以同其它标准相结合作为应用的基础。
PMML模型的提出和广泛应用促使数据挖掘系统向数
据挖掘中间件转变,出现了专门用于产生静态模型的模型生
产者(ModelProducer)和使用静态模型的模型消费者(Model
Consumer)[20]。
这些中间件可以灵活地应用于应用系统,有
利于嵌入式系统的开发。
PMML的表现能力有很大的局限性,描述的内部数据挖
掘模型并不完整,需要利用XML的可扩展性来丰富PMML
的内涵;该模型还只是对数据挖掘结果的静态描述,缺乏对于
数据挖掘过程本身的描述;此外,在方便模型部署、增添数据
转换和内置函数以及添加附加信息等方面还需要进一步改
进[21]。
2.3.2.2 通用数据仓库元模型(CWMforDM)[22]
元数据是关于数据的“数据”,用于描述数据的含义。
利
用元数据可以更好地理解、管理和使用企业拥有的数据,也是
数据仓库项目取得成功的关键因素之一[23]。
2001年2月,OMG颁布了CWM1.0标准。
目的是在异
构环境下,实现数据仓库工具、平台和元数据知识库之间的元
数据交换。
CWM模型既包含元数据存储,也包含元数据交
换。
CWM为数据仓库和商业智能工具之间共享元数据提供
了一整套的语法和语义规范:
(1)CWM元模型:
描述数据仓库系统的元模型。
(2)CWMXML:
CWM元模型的XML表示。
(3)CWMDTD:
DW/BI(BusinessIntelligence)共享元数
据的交换格式。
(4)CWMIDL:
DW/BI共享元数据的应用程序访问接
口。
CWMforDM是CWM元模型中针对数据挖掘服务的分
析子包,包含从数据输入到挖掘模型的建立、测试和应用的数
据挖掘任务的整个过程。
它由6个CWM数据挖掘接口的基
本包组成:
(1)挖掘功能设置包:
定义特定数据挖掘功能的参数对
象。
(2)挖掘模型包:
定义为基本挖掘模型对象,用于所有模
型对象继承,作为挖掘任务的构建结果。
(3)挖掘结果包:
定义基本的挖掘结果对象,用于被所有
的结果对象继承,作为特定数据挖掘任务的结果。
(4)挖掘数据包:
定义描述输入数据、输入数据处理方式、
输入数据和挖掘算法能理解的内部表示映射等对象。
(5)挖掘任务包:
定义表示特定挖掘操作任务的对象。
(6)入口点包:
定义应用编程入口点的顶层对象。
数据仓库工具通过声明文档类型定义(DTD)来标准化
XML元数据交换(XMLMetadataInterchange,XMI),实现不
同工具之间的元数据互操作。
建立DTD的过程分为三步,首
先,利用UML对数据建模;然后,根据UML模型生成统一
的CWM的交换格式MOF(Meta-ObjectFacility)和XMI;最
后,将MOF和XMI自动转换成DTD。
CWMforDM已经应用在一些数据挖掘工具中,用来支
持数据挖掘元数据的交换和管理,如,Oracle10g集成的商业
智能设计工具OWB(OracleWarehouseBuilder)[24],Prudsys
的与平台和数据源无关的嵌入式数据挖掘工具XELOPES
Library[25]等。
采用CWMforDM,可以为不同的数据仓库和数据挖掘
服务提供统一的元数据管理环境,方便数据仓库和数据挖掘
工具之间的系统集成、数据理解,可以提高系统的灵活性。
2.3.3 通用数据挖掘语言:
OLEDBforDM[26]
2000年3月,微软提出的OLEDBforDM是数据挖掘
语言标准向前迈出重要的一步。
它既可以像数据挖掘查询语
言那样,通过类似SQL语言同数据挖掘系统进行交互,又可
以集成所有符合其标准的数据挖掘软件,为挖掘服务提供者
和消费者提供统一的接口。
因此,也可以将OLEDBforDM
看成是一种接口标准。
OLEDBforDM的目的有两个:
(1)可以使不同服务提供商开发的数据挖掘算法很容易
地集成到用户应用程序中,解决了数据挖掘模型部署、预测和
浏览问题。
(2)给出的数据挖掘解决方案的基础结构与数据库开发
环境相一致,采用统一的数据库访问接口,使企业应用程序开
发者可以参与到研发数据挖掘解决方案的过程中去。
在OLEDBforDM中,属于单一实体的数据叫做案例,
相关的一系列案例称为案例集,所有输入的数据均以案例
(集)形式给出。
另外,还提出概念数据挖掘模型(DMM),用
于分类预测。
数据挖掘客户可以使用以下三种语句获取数据挖掘服
务。
(1)Create语句:
创建数据挖掘模型对象,定义DMM中
的列(如,在挖掘过程中需要分析的属性)和数据挖掘算法。
(2)Insert语句:
装入训练数据,训练数据挖掘模型对象,
·8·
本文得到国家自然科学基金(60373097)和中国博士后科学基金(2004035170)资助。
刘明亮 硕士研究生,主要研究方向为数据挖掘;李雄
飞 博士,教授,博导,主要研究方向为数据挖掘、网格计算、信息融合。
成模型。
(3)Select语句:
查询DMM的内容,做出预测或浏览由
模型得到的统计结果。
在微软的MicrosoftSQLServer2005AnalysisServices
中应用了OLEDBforDM标准,它通过统一的接口为用户和
开发者提供服务。
用户可以通过DMX(DataMiningExten-
sion:
SQL)语言获取数据挖掘服务而不必了解内部的模型结
构和工作机制。
其它开发者也可以使用统一接口将其它的挖
掘算法添加其中,使新算法成为挖掘工具的一部分,并且享受
原有的数据集成、分析和报告服务[4]。
OLEDBforDM使得数据挖掘市场从私有的、分散的标
准变成公有的、开放的标准,利用通用接口将来源不同的数据
挖掘算法方便地集成到应用程序中。
从某种程度上讲,它是
目前解决数据挖掘平台独立性问题的最全面的解决方案。
2.4 数据挖掘的Web标准
网络已经成为最大的“数据仓库”。
针对Web数据的挖
掘工作急需建立统一的Web数据挖掘标准。
目前,与此相关
的标准有:
2.4.1 XMLA(XMLforAnalysis)[27]
XMLA是一种数据挖掘的WebService标准,由Mi-
crosoft和Hyperion于2001年4月提出,已经得到SAP和
SAS等公司的支持。
XMLA是一种基于SOAP(SimpleOb-
jectAccessProtocol)的XML应用程序接口,用于标准化客户
端应用程序和数据分析服务提供者之间的数据传输,具有跨
平台性和编程语言无关性。
服务器和客户端之间是松散耦合
的,两者之间是基于SOAP的XML格式的数据传输。
避免
了紧密耦合结构带来的平台、系统、编程语言、用户应用程序
和挖掘平台之间的版本依赖性。
XMLA规范定义了两个方法:
(1)Discover:
用于从网络服务上获取信息和元数据,返回
的数据由参数决定。
Discover允许用公用的方法说明,不需
要重写现有的函数就可以进行扩展。
(2)Execute:
用于向服务器端发送命令请求,执行
MDXML表达式或服务提供者专门的指令。
MDXML是基
于MDX的一种语言,由单一的〈Statement〉元素组成,以后会
陆续增加其他元素。
为了降低挖掘工具与应用程序之间的耦合度,可以通过
WSDL(WebServiceDescriptionLanguage)[28]描述数据挖掘
工具的挖掘服务,用UDDI(UniversalDescriptionDiscovery
andIntegration)[29]协议发布、发现和使用这些挖掘服务,用
XML描述数据和挖掘结果,SOAP[30]作为挖掘工具之间的
通信协议。
将这些Web标准和协议相结合,能够把挖掘工具
提供的算法作为一种网络服务来使用,可以解决不同挖掘工
具的异构性所带来的问题。
文献[31,32]中给出基于网络
的数据挖掘服务架构的详细论述。
2.4.2 其它的Web标准
(1)语义网(SemanticWeb)[33]:
是W3C提出的用于应用
程序、企业和社区之间数据共享和复用的通用框架标准。
其
中定义的OWL(WebOntologyLanguage)是便于机器自动处
理的信息描述语言,RDF(ResourceDescriptionFramework)
是数据共享和复用的基础框架。
语义网定义的框架用于存储
数据挖掘结果信息,目前尚处于理论研究阶段。
(2)数据空间(DataSpace)[34]:
是基于网络服务的架构,
用来搜索、分析和挖掘远程和分布式的数据[35]。
包含用于数
据搜索、查询和获取的数据空间传输协议DSTP(DataSpace
TransferProtocol)和用于实时评估的PSUP(PredictiveSco-
ringandUpdateProtocol)协议。
目前,DataSpace2.0中已经
应用到开源数据挖掘包R中。
数据挖掘的Web标准可以解决数据挖掘系统紧密耦合
问题,通过挖掘网络上的分布式和远程数据,扩展挖掘服务的
应用范围。
作为Web标准,仍然存在数据安全性、异步网络
服务、数据挖掘的会话管理状态等问题[36]。
3 基于数据挖掘
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 挖掘 技术标准 综述 明亮