基于决策树方法的分类规则的挖掘.doc_第1页
基于决策树方法的分类规则的挖掘.doc_第2页
基于决策树方法的分类规则的挖掘.doc_第3页
基于决策树方法的分类规则的挖掘.doc_第4页
基于决策树方法的分类规则的挖掘.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于决策树方法的分类规则的挖掘基于决策树方法的分类规则的挖掘 分类: AUTO-HTML 第五期 作者:王疏艳 摘要:数据挖掘由一些大型零售机构所面临的决策支持问题(decision support problem)所激发。应用条形码技术采集的大量销售数据成为挖掘的基础。通过对这些数据进行挖掘,我们可以找到对于商业销售及生产极为有效的一些信息(这些信息通过具体的模式得到反映),从而可以提高销售和生产效率,降低成本,取得最大的商业效益,这就是数据挖掘的意义所在。本文主要介绍了数据挖掘中的一种模式:基于决策树方法的分类规则。并且详细了构造决策树分类器的一种算法-C4.5算法1研究背景1.1术语KDD技术的定义:KDD是从大量数据中提取出可信的、新颖的、有效的并能被人理解的模式的处理过程,这种处理过程是一种高级的处理过程。 通常KDD包括数据准备,数据挖掘,及结果的解释和评价三个阶段。数据挖掘是根据决策需要,确定数据挖掘的任务和目的,并采用具体的数据挖掘算法从数据集中挖掘出有用知识的过程,是KDD的核心环节,是KDD研究的主要课题。通常,我们不区分KDD和数据挖掘。数据挖掘(Data Mining)就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。2 分类规则分析21分类器分类要解决的问题是为一个事件或对象归类。在使用上,既可以用此模型分析已有的数据,也可以用它来预测未来的数据。分类的概念是在已有数据的基础上学会一个分类函数或构造出一个分类模型(即我们通常所说的分类器(Classifier))。该函数或模型能够把数据库中的数据纪录映射到给定类别中的某一个,从而可以应用于数据预测。例如,用分类来预测哪些客户最倾向于对直接邮件推销做出回应,又有哪些客户可能会换他的手机服务提供商,或在医疗领域当遇到一个病例时用分类来判断一下从哪些药品着手比较好。要构造分类器,需要有一个训练样本数据集作为输入。训练集(Training set) 由一组数据库记录或元组构成,每个记录是一个由有关字段值组成的特征向量,我们把这些字段称做属性(Attribute),把用于分类的属性叫做标签(Label),标签属性也就是训练集的类别标记。一个具体的样本的形式可以表示为(v1, v2,. ,vn;c), 其中vi 表示字段值,c 表示类别。训练集是构造分类器的基础。标签属性的类型必须是离散的,且标签属性的可能值的数目越少越好(最好是两或三个值)。标签值的数目越少,构造出来的分类器的错误率越低。通常的分类器有三种:决策树分类器,选择树分类器和证据分类器。我们主要研究的是决策树分类器。从训练集中自动地构造出分类器的算法叫做生成器。22决策树分类器决策树方法起源于概念学习系统(CLS:Concept Learning System),然后发展了ID3 方法并达到高峰,最后又演化为能处理连续属性的C4.5。有名的决策树方法还有CART 和Assistant。决策树提供了一种展示类似在什么条件下会得到什么值这类规则的方法。比如,在投保申请中,要对投保风险的大小做出判断,下图是为了解决这个问题而建立的一棵决策树,从中我们可以看到决策树的基本组成部分:决策节点、分支和叶子。 决策树中最上面的节点称为根节点,是整个决策树的开始。本例中根节点是年收入¥40,000,对此问题的不同回答产生了是和否两个分支。决策树的每个节点子节点的个数与决策树在用的算法有关。如CART算法得到的决策树每个节点有两个分支,这种树称为二叉树。允许节点含有多于两个子节点的树称为多叉树。每个分支要么是一个新的决策节点,要么是树的结尾,称为叶子。在沿着决策树从上到下遍历的过程中,在每个节点都会遇到一个问题,对每个节点上问题的不同回答导致不同的分支,最后会到达一个叶子节点。这个过程就是利用决策树进行分类的过程,利用几个变量(每个变量对应一个问题)来判断所属的类别(最后每个叶子会对应一个类别)。 建立决策树的过程,即树的生长过程是不断的把数据进行切分的过程,每次切分对应一个问题,也对应着一个节点。对每个切分都要求分成的组之间的差异最大。各种决策树算法之间的主要区别就是对这个差异衡量方式的区别。在此,我们只需要把切分看成是把一组数据分成几份,份与份之间尽量不同,而同一份内的数据尽量相同。这个切分的过程也可称为数据的纯化。看我们的例子,包含两个类别-索赔和无索赔。如果经过一次切分后得到的分组,每个分组中的数据都属于同一个类别,显然达到这样效果的切分方法就是我们所追求的。到现在为止,我们所讨论的例子都是非常简单的,树也容易理解,当然实际中应用的决策树可能非常复杂。假定我们利用历史数据建立了一个包含几百个属性、输出的类有十几种的决策树,这样的一棵树对人来说可能太复杂了,但每一条从根结点到叶子节点的路径所描述的含义仍然是可以理解的。决策树的这种易理解性对数据挖掘的使用者来说是一个显著的优点。然而决策树的这种明确性可能带来误导。比如,决策树每个节点对应分割的定义都是非常明确毫不含糊的,但在实际生活中这种明确可能带来麻烦(凭什么说年收入¥40,001的人具有较小的信用风险而¥40,000的人就没有)。建立一颗决策树可能只要对数据库进行几遍扫描之后就能完成,这也意味着需要的计算资源较少,而且可以很容易的处理包含很多预测变量的情况,因此决策树模型可以建立得很快,并适合应用到大量的数据上。对最终要拿出来给人看的决策树来说,在建立过程中让其生长的太枝繁叶茂是没有必要的,这样既降低了树的可理解性和可用性,同时也使决策树本身对历史数据的依赖性增大,也就是说这棵决策树对此历史数据可能非常准确,一旦应用到新的数据时准确性却急剧下降,我们称这种情况为训练过度。为了使得到的决策树所蕴含的规则具有普遍意义,必须防止训练过度,同时也减少了训练的时间。因此我们需要有一种方法能让我们在适当的时候停止树的生长。常用的方法是设定决策树的最大高度(层数)来限制树的生长。还有一种方法是设定每个节点必须包含的最少记录数,当节点中记录的个数小于这个数值时就停止分割。与设置停止增长条件相对应的是在树建立好之后对其进行修剪。先允许树尽量生长,然后再把树修剪到较小的尺寸,当然在修剪的同时要求尽量保持决策树的准确度尽量不要下降太多。决策树很擅长处理非数值型数据,这与神经网络只能处理数值型数据比起来,就免去了很多数据预处理工作。3 C4.5算法简介C4.5算法是构造决策树分类器的一种算法,它是ID3算法的扩展。ID3算法只能处理离散型的描述性属性,而C4.5算法还能够处理描述性属性是连续型的情况。这种算法利用比较各个描述性属性的Gian值的大小,来选择Gain值最大的属性进行分类。如果存在连续型的描述性属性,那么首先要做的是把这些连续型属性的值分成不同的区间,即离散化。1. 把连续型属性值离散化的具体方法是:1) 寻找该连续型属性的最小值,并把它赋值给MIN,寻找该连续型属性的最大值,并把它赋值给MAX;2) 设置区间【MIN,MAX】中的N个等分断点Ai,它们分别是MAX - MIN Ai = MIN +- * iN其中,i = 1 , 2 , . , N3) 分别计算把【MIN,Ai】和(Ai,MAX(i = 1 ,2 , . , N)作为区间值时的Gain值,并进行比较4)选取Gain值最大的Ak做为该连续型属性的断点,把属性值设置为【MIN,Ak】和(Ak,MAX两个区间值。2. Gain函数决策树是建立在信息理论(Information Theory)的基础上的,决策树的方法循环地寻找某一标准,它能够带来与本次分类相关的最大信息。构造好的决策树的关键在于如何选择好的属性。对于同样一组记录集,可以有很多决策树能符合这组记录集。人们研究出,一般情况下,树越小则树的预测能力越强。要构造尽可能小的决策树,关键在于选择恰当属性。属性选择依赖于各种对例子子集的不纯度(impurity)度量方法。不纯度度量方法包括信息增益(informatin gain)、信息增益比(gain ratio)、Gini-index、距离度量(distance measure)、J-measure、G统计、2统计、证据权重(weight of evidence)、最小描述长(MLP)、正交法(ortogonality measure)、相关度(relevance)和 Relief。不同的度量有不同的效果,特别是对于多值属性。C4.5算法使用信息增益(information gain)的概念来构造决策树,其中每个分类的决定都与前面所选择的目标分类有关。1)信息理论(Information Theory)和熵(Entropy)考虑一个任意的变量,它有两个不同的值A和B。假设已知这个变量不同值的概率分配,我们将估测该概率分配的不纯度。 情况1 .如果P(A)= 1 和P(B)= 0,那么我们知道这个变量的值一定为A,不存在不纯度,因此已知变量结果值不会带来任何的信息。情况2 .如果P(A)= P(B)= 0.5,那么它的不纯度明显地高于P(A)= 0.1和P(B) =0.9的情况。在这种情况下,已知变量的结果值就会携带信息。不纯度的最佳评估方法是平均信息量,也就是信息熵(Entropy):S = - (pi * log(Pi) I在上面的例子中,情况1和情况2的信息熵分别是:S1 = - ( 1 * log 1 + 0 * log 0) = 0S2 = - ( 0.5 * log 0.5 + 0.5 * log 0.5) = 0.3012) 信息增益(information gain)信息增益是指信息熵的有效减少量(通常用字节衡量),根据它我们能够确定在什么样的层次上选择什么样的变量来分类。假设存在两个类P和N,并且记录集S中包括x个属于类P的记录和y个属于类N的记录。那么,用于确定记录集S中某个记录属于哪个类的所有信息量为: x x y yInfo ( S ) = Info ( Sp , Sn ) = - ( - * log - + - * log - )x+y x+y x+y x+y假设使用变量D作为决策树的根节点,把记录集S分为子类 S1,S2,. ,Sk,其中每个Si (i = 1,2 , . , k)中包括xi个属于类P的记录和yi个属于类N的记录。那么,用于在所有的子类中分类的信息量为: k xi + yiInfo ( D, S ) = - * Info ( Sip , Sin ) i=1 x + y假设选择变量D作为分类节点,那么它的信息增量值一定大于其他变量的信息增量值。变量D的信息增量为:Gain ( D) = Info ( S ) - info( A , S )3)综上所述,我们给Gain函数下一个普遍的定义:Gain ( D , S ) = Info ( S ) - Info ( D , S )Info ( S ) = I ( P ) = I ( P1 , P2, . , Pk) = I ( |C1| / |S| , |C2| / |S| , . , |Ck| / |S| ) = -( p1 * log ( p1 ) + p2 * log ( p2 ) + . + pk * log ( pk ) ) ;a set S of records is partitioned into disjoint exhaustive classes C1, C2, ., Ck on then basis of the value of the goal attribute C i=1Info ( D , S ) = ( | Si | / | S | ) * Info( Si ) ;n partition S on the basis of the value of a non-goal attribute D into sets S1 , S2 , . , Sn C4.5算法描述Function C4.5 (R: a set of non-goal attributes some of which with continuous values, C: the goal attribute, S: a training set) returns a decision tree;beginIf S is empty then return a single node with value Failure;If S consists of records all with the same value for the goal attribute then return a single node with that value;If R is empty thenreturn a single node with as value the most frequent of the values of the goal attributethat are found in records of S; ;for all attributes of R (Ri) doif values of Ri are continuous then beginLet A1 be the minimum of Ri;Let Am be the maximum of Ri;m值手工设置for j from 2 to m-1 do Aj=A1 + j*(A1-Am) / m;Let A be the value point of Ri with largest Gain(Ri,S) based on Aj;end;Let D be the attribute with largest Gain(D,S)among attributes in R;Let dj | j=1,2, ., m be the values of attribute D;Let Sj | j=1,2, ., m be the subsets of S consisting respectively of records with value dj for attribute D;Return a tree with root labeled D and arcs labeled d1, d2, ., dm going respectively

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论