您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 4、数据挖掘原语、语言和系统结构
9-10王灿数据挖掘sjwj@dlc.zju.edu.cn0703004数据挖掘原语、语言和系统结构为什么要数据挖掘原语和语言?一个完全自动(不需要人为干预或指导)的数据挖掘机器只可能是“一只疯了的怪兽”。会产生大量模式(重新把知识淹没)会涵盖所有数据,使得挖掘效率低下大部分有价值的模式集可能被忽略挖掘出的模式可能难以理解,缺乏有效性、新颖性和实用性——令人不感兴趣。没有精确的指令和规则,数据挖掘系统就没法使用。用数据挖掘原语和语言来指导数据挖掘。数据挖掘原语的组成部分数据挖掘原语应该包括以下部分:说明数据库的部分或用户感兴趣的数据集要挖掘的知识类型用于指导挖掘的背景知识模式评估、兴趣度量如何显示发现的知识数据挖掘原语用于用户和数据挖掘系统通信,让用户能从不同的角度和深度审查和发现结果,并指导挖掘过程。说明数据挖掘任务的原语任务相关的数据数据库(仓库)名、数据立方体、选择条件、相关属性、分组条件挖掘的知识类型特征化、区分、关联、分类/预测、聚类背景知识概念分层,关联的确信度模式兴趣度度量简单性、确定性、实用性、新颖性发现模式的可视化规则、表、图表、图、判定树…任务相关的数据用户感兴趣的只是数据库或数据仓库的一个子集。相关的操作:DB-选择、投影、连接、聚集等;DW-切片、切块初始数据关系数据子集选择过程产生的新的数据关系可挖掘的视图用于数据挖掘相关任务的数据集任务相关的数据——例子挖掘加拿大顾客和他们常在AllElectronics购买的商品间的关联规则数据库(仓库)名(e.g.AllElectronics_db)包含相关数据的表或数据立方体名(e.g.item,customer,purchases,item_sold)选择相关数据的条件(今年、加拿大)相关的属性或维(item表的name和price,customer表的income和age)要挖掘的知识类型要挖掘的知识类型将决定使用什么数据挖掘功能。概念描述(特征化和区分),关联规则,分类/预测,聚类和演化分析等模式模板又称元模式或元规则,用来指定所发现模式所必须匹配的条件,用于指导挖掘过程。关联规则元模式——例子研究AllElectronics的顾客购买习惯,使用如下关联规则:P(X:customer,W)∧Q(X,Y)=buys(X,Z)X---customer表的关键字P,Q---谓词变量W,Y,Z---对象变量模板具体化age(X,“30…39”)∧income(X,“40k…49k”)=buys(X,“VCR”)[2.2%,60%]occupation(x,“student”)∧age(X,“20…29”)=buys(X,“computer”)[1.4%,70%]背景知识:概念分层背景知识是关于挖掘领域的知识概念分层是背景知识的一种,它允许在多个抽象层上发现知识。概念分层以树形结构的节点集来表示,其中每个节点本身代表一个概念,根节点称为all,而叶节点则对应于维的原始数据值。概念分层中,自顶向底进行层的标识,即all为0层,向下依次为1,2,3等层概念分层——上卷和下钻在概念分层中应用上卷操作(概化),使得用户可以使用较高层次概念替代较低层次概念可以在更有意义,更高、更抽象的层次观察数据,从而使发现的模式更加容易理解。上卷操作使得数据得到压缩,在这个压缩的数据集上进行挖掘可以减少I/O操作,使得挖掘的效率提高。概念分层的下钻操作使用较低层概念代替较高层概念,从而使用户能够对过于一般化的数据做更详细分析。上卷和下钻操作让用户以不同视图观察数据,洞察隐藏的数据联系。概念分层的自动生成。在同一个维上,可能根据用户的观点不同,存在多个概念分层。概念分层的类型四种常用的概念分层类型模式分层E.g.,streetcityprovincecountry集合分组分层E.g.,{20-39}=young,{40-59}=middle_aged操作导出的分层Email:abc@cs.zju.edu.cn基于规则的分层low_profit_margin(X)=price(X,P1)andcost(X,P2)and(P1-P2)$50high_profit_margin(X)=price(X,P1)andcost(X,P2)and(P1-P2)$250兴趣度度量没有兴趣度度量,挖掘出来的有用模式,很可能会给淹没在用户不感兴趣的模式中。兴趣度的客观度量方法:根据模式的结构和统计,用一个临界值来判断某个模式是不是用户感兴趣的。常用的四种兴趣度的客观度量:简单性确定性实用性新颖性简单性和确定性简单性(simplicity)模式是否容易被人所理解模式结构的函数(模式的长度、属性的个数、操作符个数)。e.g.规则长度或者判定树的节点个数。确定性(certainty)表示一个模式在多少概率下是有效的。置信度(A=B)=(包含A和B的元组值)/(包含A的元组值),e.g.buys(X,“computer)=buys(X,“software”)[30%,80%]100%置信度:准确的。实用性和新颖性实用性可以用支持度来进行度量:支持度(A=b)=(包含A和B的元组数)/(元组总数)e.g.buys(X,“computer)=buys(X,“software”)[30%,80%]同时满足最小置信度临界值和最小支持度临界值的关联规则称为强关联规则。新颖性提供新信息或提高给定模式集性能的模式通过删除冗余模式来检测新颖性(一个模式已经为另外一个模式所蕴涵)Location(X,“Canada”)=buys(X,“Sony_TV”)[8%,70%]Location(X,“Vancouver”)=buys(X,“Sony_TV”)[2%,70%]发现模式的表示和可视化以多种形式显示挖掘出来的模式:表、图、判定树、数据立方体等等,以适合不同背景的用户的需要。使用概念分层,用更有意义,更容易理解的高层概念来替代低层概念;并通过上卷、下钻等操作从不同的抽象级审视所发现的模式。特定知识类型的表示。一种数据挖掘查询语言DMQLDMQL的设计目的支持特别的和交互的数据查询,以便利于灵活和有效的知识发现提供一种类似于SQL的标准化查询语言希望达到SQL在关系数据库中的地位系统开发和演化的基础方便的信息交互,广泛的技术支持,商业化,广为认可设计挑战数据挖掘任务涉及面宽数据特征、关联规则、分类、演变分析…每种任务都有不同的需求DMQL的语法采用与SQL相类似的语法,便于与SQL的集成。允许在多个抽象层上,由关系数据库和数据仓库进行多类型知识的特殊挖掘DMQL的设计基于数据挖掘原语,相应的,其语法中应该包括对以下任务的指定:说明数据库的部分或用户感兴趣的数据集要挖掘的知识类型用于指导挖掘的背景知识模式评估、兴趣度量如何显示发现的知识任务相关数据说明的语法任务相关数据说明应包括的内容:包含相关数据的数据库或数据仓库相关的表名或数据立方体的名字选择相关数据的条件探察的相关属性或维关于检索数据的排序和分组指令任务相关数据说明子句说明相关的数据库或数据仓库usedatabasedb_name或usedatawarehousedw_name指定涉及的表或数据立方体,定义检索条件Fromrelation(s)/cube(s)[wherecondition]列出要探察的属性或维Inrelevancetoattributeordimension_list相关数据的排序orderbyorder_list相关数据的分组groupbygrouping_list相关数据的分组条件:havingcondition任务相关数据说明——示例挖掘加拿大顾客与在AllElectronics经常购买的商品之间的关联规则usedatabaseAllElectronics_dbinrelevancetoI.name,I.price,C.income,C.agefromcustomerC,itemI,purchasesP,items_soldSwhereI.item_ID=S.item_IDandS.trans_ID=P.trans_IDandP.cust_ID=C.cust_IDandC.country=“Canada”groupbyP.date指定挖掘知识类型要挖掘的知识类型将决定所使用的数据挖掘功能。几种主要的数据挖掘功能特征化目标数据的一般特征或特性汇总数据区分将目标对象的一般特性与一个或多个对比类对象的特性相比较关联分析发现关联规则,这些规则展示属性-值频繁的在给定数据中集中一起出现的条件分类找出区分数据类或概念的模型(或函数),以便用之标志未知的对象类。聚类分析、孤立点分析、演变分析…指定挖掘知识类型——特征化目标数据的一般特征或特性汇总语法Mine_Knowledge_Specification::=minecharacteristics[aspattern_name]analyzemeasure(s)analyze子句指定聚集度量(count,sum,count%),通过这些度量对每个找到的数据特征进行计算示例:顾客购买习惯的特征描述,对于每一特征,显示满足特征的任务相关元组的百分比minecharacteristicsascustPurchasinganalyzecount%指定挖掘知识类型——数据区分将目标对象的一般特性与一个或多个对比类对象的特性相比较语法Mine_Knowledge_Specification::=minecomparison[aspattern_name]fortarget_classwheretarget_condition{versuscontrast_class_iwherecontrast_condition_i}analyzemeasure(s)analyze子句指定聚集度量(count,sum,count%),将对每个描述进行计算或显示示例:用户将客户区分为大顾客与小顾客,并显示满足每个区分的元组数Mine_Knowledge_Specification::=minecomparisonaspurchaseGroupsforbigSpenderswhereavg(I.price)≧$100versusbudgetSpenderswhereavg(I.price)≦$100analyzecount指定挖掘知识类型——关联发现关联规则,这些规则展示属性-值频繁的在给定数据中集中一起出现的条件语法Mine_Knowledge_Specification::=mineassociations[aspattern_name]matching子句后面往往可以跟元模式,用来指定用户有兴趣探察的数据束或假定示例:使用元模式指导的挖掘来指定用于描述顾客购买习惯的关联规则挖掘Mine_Knowledge_Specification::=mineassociationsasbuyingHabbitsmatchingP(X:customer,W)∧Q(X,Y)=buys(X,Z)指定挖掘知识类型——分类找出区分数据类或概念的模型(或函数),以便用之标志未知的对象类语法Mine_Knowledge_Specification::=mineclassification[aspattern_name]analyzeclassifying_attribute_or_dimensionanalyze子句说明根据某个属性或维进行分类,通常每个分类属性的或维的值就代表一个分类示例:挖掘客户的信用等级模式mineclassificationasclassifyCustCre
本文标题:4、数据挖掘原语、语言和系统结构
链接地址:https://www.777doc.com/doc-6072834 .html