📄 1.txt
字号:
发信人: ashun (阿顺), 信区: DataMining
标 题: 数据挖掘语言浅析
发信站: 南京大学小百合站 (Tue Sep 4 19:35:40 2001)
数据挖掘语言浅析
zhujianqiu@hotmail.com
朱建秋, 张晓辉, 蔡伟杰, 朱扬勇
(复旦大学计算机科学系, 上海, 200437)
【摘要】本文介绍了几种数据挖掘语言及其标准化方面的研究进展,提出了数据挖掘语言
分类的方法,在此基础上,对数据挖掘语言的结构和组成进行了探讨和研究,最后指出了
数据挖掘语言的发展趋势,以及若干待解决的问题。
【关键词】数据挖掘,查询语言,建模语言,XML
1. 引言
随着网络技术的发展和计算机使用的日益广泛,电子化数据越来越多,人们正面临“数据
丰富而知识贫乏”的问题。八十年代末兴起的数据挖掘(data mining)技术或数据库中的
知识发现(knowledge discovery in database,KDD)技术为解决此问题开辟了一条道路
。数据挖掘是在大量的数据中发现潜在的、有价值的模式和数据间关系(知识)的过程。
经过十多年的工作 ,数据挖掘技术的研究与应用已取得了很大的成果,然而,我们还面临
着许多问题:(1)各种数据挖掘问题及挖掘方法基于不同的模型和技术,彼此互相孤立,
联系很少;(2)缺少简明精确的问题描述方法,挖掘的语义通常是由实现方法决定的;(
3)数据挖掘系统仅提供孤立的知识发现功能,难于嵌入大型应用;(4)数据挖掘引擎与
数据库系统是松散耦合,T.Imielinski 和 H.Mannila 称其为"文件挖掘(file mining)系
统",它没有提供应用独立的操作原语。
到目前为止,数据挖掘行业是高度分散的,公司和研究机构独立开发各自的数据挖掘系统
和平台,没有形成开放性的标准;同时数据挖掘本身是一门多学科综合跨度非常大的技术
,这两点是上述问题存在的根本原因。近年来数据挖掘语言的研究为解决上列问题,提出
一个新的研究方向。
本文组织结构如下:在第2节提出了数据挖掘语言分类的方法,将数据挖掘语言分为:
查询语言,建模语言,以及通用语言三种类型,然后,分别在2.1、2.2与2.3小节举例阐述
这三种数据挖掘语言的特点。在第3节对三种数据挖掘语言进行分析与评价,指出了各自的
优缺点。最后指出了数据挖掘语言的发展趋势,以及若干待解决的问题。
2. 数据挖掘语言的分类
设计一个好的数据挖掘语言的重要性可以通过观察关系数据库系统的历史来证实。在数据
库市场上,关系数据库系统已经占支配地位数十年了。关系查询语言的标准化,发生在关
系数据库开发的早期阶段,关系数据库领域的成功广泛地依赖于关系数据库查询语言的标
准化。尽管每个商业的关系数据库系统都有各自的图形用户接口GUI,每个接口的根本的核
心仍然是标准化的关系数据库查询语言。关系查询语言的标准化为关系数据库的开发和发
展提供了基础。它使得信息交换更加容易,同时提升了关系数据库技术的商业性和被广泛
接受的程度。因此,有一个好的数据挖掘语言可以有助于数据挖掘系统平台的标准化的开
发,甚至可以象HTML推动Internet的发展一样,推动数据挖掘行业的开发和发展。
设计全面的数据挖掘语言是一个巨大的挑战,因为数据挖掘覆盖了宽广的任务,从数据特
征化到挖掘关联规则,数据分类,聚集和偏差检测,等等。每个任务都有不同的需求。设
计一个有效的数据挖掘语言需要对各种不同的数据挖掘任务的能力、限制、以及运行机制
都有深入地理解。
数据挖掘语言的研究经历了两个阶段,第一个阶段是研究单位和公司自行研究和开
发阶段;第二阶段是研究单位和公司组成联盟,研制和开发数据挖掘语言标准化的阶段。
这两个阶段趋势界限是很明显的。第一个阶段成果包括Jiawei Han等研制的DMQL;Imieli
nski和Virmani提出的MSQL;Meo、Psaila、和Ceri提出MINE RULE操作器;等。第二阶段主
要包括数据挖掘组织协会(DMG)提出的预言模型标记语言PMML,以及微软公司提出的OLE
DB for Data Mining规范。
对于上述数据挖掘语言,根据功能和侧重点不同,我们将其分为三种类型:数据挖
掘查询语言;数据挖掘建模语言;通用数据挖掘语言。第一阶段的数据挖掘语言一般属于
查询语言;PMML属于建模语言;OLE DB for DM属于通用数据挖掘语言。下面我们分别介绍
其特点和功能。
2.1 数据挖掘查询语言[1,2]
数据挖掘系统应该有能力支持特殊的和交互的数据挖掘(sad-hoc and interactive data
mining),目的是为了灵活和有效的知识发现。数据挖掘查询语言即是设计用来支持这个特
点的。我们首先以加拿大Simon Franser大学Jiawei Han等开发的数据挖掘系统DBMiner中
数据挖掘查询语言DMQL(Data Mining Query Language)来介绍查询语言的特点,接着简
单介绍其它研究工作。
数据挖掘查询语言DMQL由数据挖掘原语组成,数据挖掘原语用来定义一个数据挖掘任务。
用户使用数据挖掘原语与数据挖掘系统通信,使得知识发现更有效。这些原语有以下几个
种类:数据库一部分的规范以及用户感兴趣的数据集(包括感兴趣的数据库属性或数据仓
库的维度);挖掘知识的种类;在指导挖掘过程中有用的背景知识;模式估值的兴趣度测
量;以及挖掘出的知识如何可视化表示。数据挖掘原语允许用户在挖掘过程中从不同的角
度或深度与数据挖掘系统进行交互式地通信。
数据挖掘查询的基本单位是数据挖掘任务,通过数据挖掘查询语言,数据挖掘任务可以通
过查询的形式输入到数据挖掘系统中。一个数据挖掘查询由以下五种基本的数据挖掘原语
定义:
1) 任务相关数据原语
这是被挖掘的数据库的一部分。挖掘的数据不是整个数据库,只是和具体商业问题相关、
或者用户感兴趣的数据集,即是数据库中一部分表,以及表中感兴趣的属性。该原语包括
以下具体的内容:数据库或数据仓库的名称;数据库表或数据仓库的立方体;数据选择的
条件;相关的属性或维;数据分组定义。
2) 被挖掘的知识的种类原语
该原语指定被执行的数据挖掘的功能,在DMQL中将挖掘知识分为五种类型,即五种知识的
表达:特征规则;辨别规则;关联规则;分类/预言;聚集。
3) 背景知识原语
用户能够指定背景知识,或者关于被挖掘的领域知识。这些知识对于引导知识发现过程和
评估发现的模式都是非常有用的。背景知识原语包括:概念层次(concept hierarchy);
对数据关系的用户信任度(user beliefs about relationships in the data)。
4) 兴趣度测量原语
这个功能是将不感兴趣的模式从知识中排除出去。兴趣度测量能够用来引导数据挖掘过程
,或者在发现后评估被发现的模式。不同种类的知识有不同种类的兴趣度测量方法。例如
对关联规则来说,兴趣度测量包括支持度(support)和可信度(confidence)。低于用户
指定的支持度和可信度阈值的规则被认为是不感兴趣的。兴趣度测量原语包括:简单性(
simplicity);确定性(certainty,比如:可信度);效用(utility,比如:支持度)
;新颖性(novelty)。
5) 被发现模式的表示和可视化原语
这个原语定义被发现的模式显示的方式,用户能够选择不同的知识表示形式。该原语包括
:规则,表格,报告,图表,图形,决策树,和立方体;向下钻入和向上累积(drill-do
wn and roll-up)。
DMQL正是基于这些原语设计的数据挖掘查询语言。它允许从关系数据库和数据仓库中多个
抽象层次上特殊(ad-hoc)和交互地挖掘多种种类的知识。DMQL采用类似SQL语言的语法,
因此它能够很容易地和关系查询语言SQL集成。
除了DMQL以外,我们简单介绍其它一些数据挖掘查询语言的研究工作。MSQL是一个数据挖
掘查询语言,它有Imielinski和Virmani提出。这个语言使用了类似SQL的语法和SQL原语(
包括排序、分组、和其它原语)。既然在数据挖掘中可能产生大量的规则,MSQL提供了一
个称作GetRule和SelectRule的原语,用于规则产生和规则选择。它统一地对待数据和规则
,因此,能够在执行数据选择,以及基于查询的规则产生时进行优化工作,同时也能在操
纵或者查询产生规则的集合时进行优化。其它在数据挖掘语言设计方面的研究工作包括Me
o、Psaila、和Ceri提出MINE RULE操作器。它同样遵循类似SQL的语法,是为挖掘关联规则
设计的规则产生查询语言。
2.2 数据挖掘建模语言[3]
数据挖掘建模语言是对数据挖掘模型进行描述和定义的语言。如果我们设计一种标准的数
据挖掘建模语言,使得数据挖掘系统在模型定义和描述方面有标准可以遵循,那么各系统
之间可以共享模型,既可以解决目前各数据挖掘系统之间封闭性的问题,有可以在其它应
用系统中间嵌入数据挖掘模型,解决孤立的知识发现问题。“预言模型标记语言”(Pred
ictive Model Markup Language,PMML)正是这样一种数据挖掘建模语言。
PMML被一个称作数据挖掘协会(The Data Mining Group ,http://www.dmg.org/,DMG)
的组织开发。该组织由Angoss, Magnify, NCR, SPSS和芝加哥Illinois大学 等企业和
单位组成,它的目的是开发预言模型开放标准,策略是将此标准推荐给W3C工作组,使PMM
L成为W3C的正式推荐物。目前DMG宣布了定义预言模型开放标准的第一个版本PMML 1.0。P
MML主要目的是允许应用程序和联机分析处理(OLAP)工具能从数据挖掘系统获得模型,而
不用独自开发数据挖掘模块。另一个目的是能够收集使用大量潜在的模型,并且统一管理
各种模型的集合。这些能力在商业应用领域是有效的配置分析模型的基础。
PMML是一种基于XML的语言,用来定义预言模型。它为各个公司定义预言模型和在不同的应
用程序之间共享模型提供了一种快速并且简单的方式。通过使用标准的XML解析器对PMML进
行解析,应用程序能够决定模型输入和输出的数据类型,模型详细的格式,并且按照标准
的数据挖掘术语来解释模型的结果。
PMML提供了一个灵活机制来定义预言模型的模式,同时支持涉及多个预言模型的模型选择
和模型平衡(model averaging)。对于那些需要全部学习、部分学习和分布式学习(ens
emble learning, partitioned learning, and distributed learning)的应用程序,这
种语言被证明是非常有用的。另外,它使得在不同的应用程序和系统之间移动预言模型变
得容易、方便。特别地,PMML非常适合部分学习、元学习、分布式学习、以及相关领域。
使用PMML进行模型定义由以下几部分组成:
1) 头文件(a header)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -