数据挖掘CHAPTER5概念描述:特征与比较

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第五章概念描述:特征与比较从数据分析的角度,数据挖掘可以分为两类:描述式数据挖掘和预测式数据挖掘。描述式数据挖掘以简洁概要的方式描述数据,并提供数据的有趣的一般性质。预测式数据挖掘分析数据,建立一个或一组模型,并试图预测新数据集的行为。数据库通常存放大量的细节数据。然而,用户通常希望以简洁的描述形式观察汇总的数据集。这种数据描述可以提供一类数据的概貌,或将它与对比类相区别。此外,用户希望方便、灵活地以不同的粒度和从不同的角度描述数据集。这种描述性数据挖掘称为概念描述,它是数据挖掘的一个重要部分。本章,你将学习概念描述如何有效地进行。5.1什么是概念描述?描述性数据挖掘的最简单类型是概念描述。概念通常指数据的汇集,如frequent_buyers,graduate_students等。作为一种数据挖掘任务,概念描述不是数据的简单枚举。概念描述产生数据的特征和比较描述。当被描述的概念涉及对象类时,有时也称概念描述为类描述。特征提供给定数据汇集的简洁汇总,而概念或类的比较(也称为区分)提供两个或多个数据汇集的比较描述。由于概念描述涉及特征和比较,我们将逐一研究这些任务的实现技术。概念描述与数据泛化密切相关。给定存放在数据库中的大量数据,能够以简洁的形式在更一般的(而不是在较低的)抽象层描述数据是很有用的。允许数据集在多个抽象层泛化,便于用户考察数据的一般行为。例如,给定AllElectronics数据库,销售经理可能不想考察每个顾客的事务,而愿意观察泛化到高层的数据。如,根据地区按顾客的分组汇总,观察每组顾客的购买频率和顾客的收入。这种多维、多层数据泛化类似于数据仓库中的多维数据分析。在这种意义下,概念描述类似于第2章讨论的数据仓库的联机分析处理(OLAP)。“大型数据库的概念描述和数据仓库的联机分析处理有何不同?”二者之间的主要差别如下:复杂的数据类型和聚集:数据仓库和OLAP工具基于多维数据模型,将数据看作数据方形式,由维(或属性)和度量(聚集函数)组成。然而,对于这些系统的大部分商品化版本,维和度量的数据类型都是很有限的。许多当前的OLAP系统限制维必须是非数值数据1。类似地,在当前的OLAP系统中,度量(如count(),sum(),avg())也仅用于数值数据。相反,对于概念形成,数据库属性可以是各种各样的数据类型,包括数值的、非数值的、空间的、文本的或图象的。此外,数据库中属性的聚集也可能包括复杂的数据类型,如非数值数据的集合,空间区域的合并,图象的合成,文本的集成,和对象指针分组等。这样,由于可能的维和度量类型的限制,OLAP只表现为一种简单的数据分析模型。需要时,数据库中的概念描述可以处理具有复杂数据类型的属性和它们的聚集。用户控制与自动处理:数据仓库中的联机分析处理纯是用户控制的过程。维的选择和诸如下钻、上卷、切块和切片等OLAP操作的使用都由用户指挥和控制。尽管在大部分OLAP系统中,用户控制的界面是相当友好的,但用户确实需要对每个维的作用有透彻的理解。此外,为了找到一个满意的描述,用户需要使用一长串OLAP操作。相反,数据挖掘系统中的概念描述努力成为更自动化的过程,帮助用户确定哪些维(或属性)应当包含在分析中,给定的数据应当泛化到什么程度,以便产生有趣的数据汇总。1注意,在第3章中,我们介绍了概念分层可以由数值数据自动产生,形成数值维。然而,这一特点是数据挖掘的最近研究成果,在大多数商品化系统中还未使用。正如第2章所讨论的,最近,数据仓库和OLAP技术正在朝着处理更复杂的数据类型和嵌入更多的知识发现机制方向进化。随着技术的进一步发展,预期更多的描述性数据挖掘功能将集成到未来的OLAP系统中。本章,你将学习概念描述的方法,包括多层泛化、汇总、特征和比较。这些方法形成实现数据挖掘的两个主要功能模块的基础:多层特征和比较。此外,你还将考察以多种形式表示概念描述的技术,包括表、图表、图和规则。5.2数据泛化和基于汇总的特征数据库中的数据和对象通常包含原始概念层的细节信息。例如,sales数据库中的item关系可能包含描述商品的低层信息,如item_ID,name,brand,category,supplier,place_made和price。能够对大的数据集合进行汇总并在高层概念提供结果是有用的。例如,圣诞节期间销售的大量商品的汇总提供这些数据的一般描述,对于销售和市场经理都是非常有帮助的。这要求一个重要的数据挖掘功能:数据泛化。数据泛化是一个过程,它将大的、任务相关的数据集从较低的概念层抽象到较高的概念层。大的数据集有效的、灵活的泛化方法可以分为两类:(1)数据方(或OLAP)方法,和(2)面向属性归纳方法。数据方方法已在第2章介绍。本节,我们介绍面向属性的归纳方法。5.2.1面向属性归纳对于数据泛化和基于汇总的特征,面向属性的归纳于1989年首次提出,比数据方方法的提出早几年。数据方方法可以认为是基于数据仓库的、面向预计算的、物化视图的方法。它在OLAP或数据挖掘查询提交处理之前,脱机计算聚集。另一方面,面向属性的归纳,至少在它被提出时,是面向关系数据库查询、基于泛化的、联机的数据分析处理技术。然而,根据联机聚集和脱机预计算区分两种方法并非是固有的。数据方中有些聚集也可以联机计算,而多维空间的脱机预计算也可以加快面向属性的归纳速度。让我们先介绍面向属性的归纳方法。然后,我们将讨论该方法的细节,它的变形和扩充。面向属性归纳的基本思想是:首先使用关系数据库查询收集任务相关的数据;然后,通过考察任务相关数据中每个属性的不同值的个数,进行泛化。泛化或者通过属性删除,或者通过属性泛化进行。聚集通过合并相等的泛化元组,并收集它们对应的计数值进行。这压缩了泛化后的数据集合。结果泛化关系可以映射到不同形式,如图表或规则,提供用户。下面一系列例子解释面向属性归纳的处理过程。例5.1用DMQL说明特征数据挖掘查询。假定用户想描述Big-University数据库中研究生的一般特征。给定的属性有name,gender,major,birth_place,residence,phone#(电话号码)和gpa(平均等级分)。该特征的数据挖掘查询可以用数据挖掘查询语言DMQL表示如下:useBig_University_DBminecharacteristicsas“Science_Students”inrelevancetoname,gender,major,birth_place,birth_date,residence,phone#,gpafromstudentwherestatusin“graduate”我们将看看这个典型的数据挖掘查询例子如何使用面向属性的归纳挖掘特征描述。“面向属性归纳的第一步做什么?”首先,在面向属性归纳之前进行数据聚焦。这一步对应于第4章介绍的说明任务相关数据(或用于分析的数据),根据数据挖掘查询提供的信息进行数据收集。由于数据挖掘查询通常只涉及数据库的一部分,选择相关的数据集不仅使得挖掘更有效,而且与在整个数据库挖掘相比,能够产生更有意义的规则。对于用户来说,指定相关的数据集(即,挖掘的属性,如DMQL的inrelevanceto子句所指出的)可能是困难的。有时,用户只能选择少量他感到可能重要的属性,而遗漏在描述中可能起作用的其它属性。例如,假定birth_place由属性city,province_or_state和country定义。这些属性,用户只想到说明city。为了能在birth_place维上泛化,定义该维的其它属性也应当包括进来。换一句话说,系统自动地包括province_or_state和country作为相关属性,使得city可以在归纳过程中泛化到较高的概念层。另一个极端是,用户可能引进太多属性,如用“inrelevanceto*”指定所有可能的属性。在这种情况下,被from子句说明的关系的所有属性将包含在分析中。许多属性对于有趣的描述是没有用的。5.3节介绍一种方法,通过过滤掉统计不相关或弱相关属性来处理这种情况。“子句‘wherestatusin“graduate”’是什么意思?”该where子句意味在属性status上存在概念分层。这种概念分层将status的原始层的值,如”M.Sc”,”M.A”,M.B.A”,”Ph.D”,”B.Sc”,”B.A”组织成较高层次的概念,如”graduate”和”undergraduate”。这种概念分层在传统的关系查询语言中没有,而在数据挖掘语言中是普遍的。例5.2转化数据挖掘查询为关系查询。例5.1的数据挖掘查询被转换成如下关系查询,收集任务相关的数据集。useBig_university_DBselectname,gender,major,birth_place,birth_date,residence,phone#,gpafromstudentwherestatusin{”M.Sc”,”M.A”,M.B.A”,”Ph.D”}转换后的查询在关系数据库Big_university_DB上执行,返回表5.1所示数据。该表称作(任务相关)初始工作关系,是要进行归纳的数据。注意,事实上每个元组是属性-值对的合取。因此,我们可以认为关系的元组是合取规则,而关系上的归纳是这些规则的一般化。表5.1:初始工作关系:任务相关数据集合namegendermajorbirth_placebirth_dateresidencephone#gpaJimWoodmanScottLachanceLauraLee...MMF...CSCSphysics...Vancouver,BC,CanadaMontreal,Que,CanadaSeattle,WA,USA...8-12-7628-7-7525-8-70...3511,MainSt.,Richmand345,IstAve.,Vancouver125,AustinAve.,Burnaby...687-4598253-9106420-5232...3.673.703.83...“对于面向属性归纳,现在数据已经准备好,如何进行面向属性归纳?”面向属性归纳的基本操作是数据泛化,它可以用两种方法之一在初始关系上进行:属性删除,属性泛化。属性删除基于如下规则:如果初始工作关系的某个属性有大量不同的值,但是(1)在此属性上没有泛化操作符(例如,对该属性没有定义概念分层),或者(2)它的较高层概念用其它属性表示,则该属性应当从工作关系中删除。该规则的理由何在?一个属性-值对表示泛化元组或规则的一个合取。删除一个合取就删除了一个限制,从而泛化了规则。如果是情况1,属性具有大量的不同值,但对它没有泛化操作符,应当将属性删除,因为它不能被泛化,保留它就意味着保留与产生的简洁规则相矛盾的大量不同值。另一方面,考虑情况2,属性的高层次概念用其它属性表示。例如,假定该属性是street,它的高层次概念被属性(city,province_or_state,country)表示。删除street等价于使用泛化操作。该规则对应于机器学习中示例学习的删除条件。属性泛化基于如下规则:如果初始工作关系的某个属性有大量不同的值,并且该属性上存在泛化操作符,则应当选择该泛化操作符,并将它用于该属性。该规则基于如下理由:使用泛化操作符泛化工作关系中元组的属性值或规则,将使得规则涵盖更多的原数据元组,从而泛化了它所表示的概念。这对应于泛化规则,在示例学习中称为沿泛化树攀升或沿概念树攀升。属性删除和属性泛化两个规则都表明,如果某属性有大量的不同值,应当进行进一步泛化。这就提出了一个问题:多大才算“属性具有大量不同值”?这取决于属性或应用,有的用户愿意让有些属性留在较低的抽象层,而另一些用户愿意将它们泛化到较高的抽象层。控制将属性泛化到多高的抽象层通常是相当主观的。该过程的控制称为属性泛化控制。如果属性泛化得“太高”,可能导致过分泛化,产生的规则可能没有多少信息。另一方面,如果属性不泛化到“足够高的层次”,可能泛化不足,得到的规则可能也不含多少信息。

1 / 25
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功