资源描述:
《决策树和决策规则概述.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、第七章决策树和决策规则本章目标分析解决分类问题的基于逻辑的方法的特性.描述决策树和决策规则在最终分类模型中的表述之间的区别.介绍C4.5算法.了解采用修剪方法降低决策树和决策规则的复杂度.决策树和决策规则是解决实际应用中分类问题的数据挖掘方法。一般来说,分类是把数据项映射到其中一个事先定义的类中的这样一个学习函数的过程。由一组输入的属性值向量(也叫属性向量)和相应的类,用基于归纳学习算法得出分类。学习的目标是构建一个分类模型,通常也叫分类器。它可以根据有效的属性输入值预测一些实体(所给样本)的类。是一个在样本其他属性已知的情况下预测另外一个属性(样本的类)的模型(分类的结果)。7
2、.1决策树从数据中生成分类器的一个特别有效的方法是生成一个决策树。它是一种基于逻辑的方法,通过一组输入-输出样本构建决策树的有指导学习方法。决策树包含属性已被检验的节点,一个节点的输出分枝和该节点的所有可能的检验结果相对应。图7-2是一个简单的决策树。该问题有两个属性X,Y。所有属性值X>1和Y>B的样本属于类2。不论属性Y的值是多少,值X<1的样本都属于类1。对于树中的非叶节点,可以沿着分枝继续分区样本,每一个节点得到它相应的样本子集。生成决策树的一个著名的算法是Quinlan的ID3算法,C4.5是它改进版。ID3算法的基本思路:从树的根节点处的所有训练样本开始,选取一个属性
3、来划分这些样本。对属性的每一个值产生一分枝。分枝属性值的相应样本子集被移到新生成的子节点上。这个算法递归地应用于每个子节点,直到一个节点上的所有样本都分区到某个类中。到达决策树的叶节点的每条路径表示一个分类规则。该算法的关键性决策是对节点属性值的选择。ID3和C4.5算法的属性选择的基础是基于使节点所含的信息熵最小化。基于信息论的方法坚持对数据库中一个样本进行分类时所做检验的数量最小。ID3的属性选择是根据一个假设,即:决策树的复杂度和所给属性值表达的信息量是密切相关的。基于信息的试探法选择的是可以给出最高信息的属性,即这个属性是使样本分类的结果子树所需的信息最小。7.2C4.5
4、算法:生成一个决策树C4.5算法最重要的部分是由一组训练样本生成一个初始决策树的过程。决策树可以用来对一个新样本进行分类,这种分类从该树的根节点开始,然后移动样本直至达叶节点。在每个非叶决策点处,确定该节点的属性检验结果,把注意力转移到所选择子树的根节点上。例如,如图7-3a为决策树分类模型,待分类有样本如图7-3b所示,由决策树分类模型可得出待分类样本为类2。(节点A,C,F(叶节点))C4.5算法的构架是基于亨特的CLS方法,其通过一组训练样本T构造一个决策树。用{C1,C2,…,CK}来表示这些类,集合T所含的内容信息有3种可能性:T包含一个或更多的样本,全部属于单个的类C
5、j。那么T的决策树是由类Cj标识的一个叶节点。T不包含样本。决策树也是一个叶,但和该叶关联的类由不同于T的信息决定,如T中的绝大多数类。3.T包含属于不同类的样本。这种情况下,是把T精化成朝向一个单类样本集的样本子集。根据某一属性,选择具有一个或更多互斥的输出{O1,O2,…,On}的合适检验。T被分区成子集T1,T2,…,Tn。T的决策树包含标识检验的一个决策点和每个可能输出的一个分枝(如图7-3a中的A,B和C节点)假设选择有n个输出(所给属性的n个值)的检验,把训练样本集T分区成子集T1,T2,…,Tn。仅有的指导信息是在T和它的子集Ti中的类分布。如果S是任意样本集,设f
6、req(Ci,S)代表S中属于Ci的样本数量,
7、S
8、表示集合S中的样本数量。ID3算法的属性选择的检验方法采用增益标准,它基于信息论中熵的概念。集合S的期望信息(熵)如下:T被分区之后的一个相似度标准,T按照一个属性检验X的几个输出进行分区。所需信息为子集的熵的加权和:分区所对应的信息增益:上式度量了按照检验X进行分区的T所得到的信息。该增益标准选择了使Gain(X)最大化的检验X,即此标准选择的具有最高增益的那个属性。例如:给定训练样本如表7-1,14个样本,3个属性,分为两个类。9个样本属于类1,5个属于类2,因此分区前的熵为(基于类的熵计算)info(T)=-9/14log
9、2(9/14)-5/14log2(5/14)=0.940按属性1分区可得子集的熵的加权和:infox1(T)=5/14(-2/5log2(2/5)-3/5log2(3/5))+4/14(-4/4log2(4/4)-0/4log2(0/4))+5/14(-3/5log2(3/5)-2/5log2(2/5))=0.694相应的增益:Gain(x1)=0.94-0.694=0.246按属性3分区可得子集的熵的加权和:infox2(T)=6/14(-3/6log2(3/6)-3/6log