第6章 决策树

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

对每个分枝重复上述步骤选择检验和最优 化过程。对于子节点T2子集,4个样本都是 类1,该节点是叶节点。
对于余下的节点,在T1中有5个样本,最优 检验有两个选择:属性2≤70和属性2>70的 检验x4。 info(T1)=-2/5log2(2/5)-3/5log2(3/5) =0.940
infox4(T1)=2/5(-2/2log2(2/2)-0/2log2(0/2)) +3/5(-0/3log2(0/3)-3/3log2(3/3)) =0
6.1 决策树
从数据中生成分类器的一个特别有效的方 法是生成一个决策树。它是一种基于逻辑 的方法,通过一组输入-输出样本构建决策 树的有指导学习方法。 决策树包含属性已被检验的节点,一个节 点的输出分枝和该节点的所有可能的检验 结果相对应。
图7-2是一个简单的决策树。该问题有两个 属性X,Y。所有属性值X>1和Y>B的样本属 于类2。不论属性Y的值是多少,值X <1的 样本都属于类1。
对应属性2的检验3(属性2≤80和属性2>80) 的信息增益计算:
infox3(T)=9/14(-7/9log2(7/9)-2/9log2(2/9)) +5/14(-2/5log2(2/5)-3/5log2(3/5)) =0.837
相应的增益: Gain(x3)=0.94-0.837=0.103 属性1的增益最高,选择该属性进行首次分 区。每个属性值具有一个分枝,产生3个分 枝,如图7-4所示.
该检验所获得的信息系数F(F=13/14)修正: Gain(x1)=13/14(0.961-0.747)=0.199 该值比上个例子的值0.216小。然后,该分 区信息仍是根据整个训练集来确定的,而 且更大,因为对未知值有一个额外的类别。
Split-info(xi) =-(5/14log(5/14)+3/14log(3/14) +5/14log(5/14)+1/14log(1/14))=1.876
9个样本属于类1,5个属于类2,因此分区 前的熵为(基于类的熵计算) info(T)=-9/14log2(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
增益标准对具有许多输出的检验有严重的偏 差,根据info(S)的定义,指定一个附加的参 数:
Split info ( X ) ((Ti / T ) log 2 (Ti / T ))
i 1 n
这表示通过把集T分区成n个子集Ti而生成的 潜在信息。现在,定义一个新的增益标准: Gain-radio(X)=gain(X)/Split-info(X)
假设选择有n个输出(所给属性的n个 值)的检验,把训练样本集T分区成子 集T1,T2,…,Tn。仅有的指导信息是在 T和它的子集Ti中的类分布。 如果S是任意样本集,设freq(Ci,S)代 表S中属于Ci的样本数量,|S|表示集 合S中的样本数量。
ID3算法的属性选择的检验方法采用增益标 准,它基于信息论中熵的概念。 集合S的期望信息(熵)如下:
除了考虑到仅有的几个有已知属性值的样 本,Info(T)和Infox(T)的计算和前面机相同。 然后可以用系数F合理地修正增益参数, 该系数表示所给属性已知的概率。 F=数据库中一个给出的属性值具有已知 值的样本的数量/数据集中样本数量总和。 新的增益标准有以下形式: Gain(x)=F· (Info(T)-Infox(T)) 同样,通过把具有未知值的样本看作分区 的一个附加组可以修改Split-info(x) 。如果 检验x有n个输出, Split-info(x)按照检验把 数据集分区成n+1个子集计算。
对于属性1的检验x1分区结果,丢失值的记 录将被表示在3个子集中。如图7-7所示。
因为最初的(旧的)w值等于1,新的权 值wi等于概率5/13,3/13,和5/13。在 C4.5中,Ti的算式如下: |T1|=5+5/13, |T2|=3+3/13, |T3|=5+5/13 对属性2和属性3检验分区,最终决策 树如图7-8中所示的形式。
info ( S ) (( freg (Ci , S ) / S ) log 2 ( freg (Ci , S ) / S ))
i 1 k
T被分区之后的一个相似度标准,T按照一 个属性检验X的几个输出进行分区。所需信 息为子集的熵的加权和:
info x (T ) ( Ti / T ) info (Ti ))
例如:一个改进了的C4.5决策树的方法。 数据集见表7-2。
该例有14个样本,属性1有一个丢失值,用 “?”表示。只有13个样本数据完整。 分区前的熵是: Info(T)=-8/13log2(8/13)-5/13log2(5/13) =0.961 属性1检验的信息: infox1(T)=5/13(-2/5log2(2/5)-3/5log2(3/5)) +3/13(-3/3log2(3/3)-0/3log2(0/3)) +5/13(-3/5log2(3/5)-2/5log2(2/5)) =0.747
2.如果属性Y有连续的数值,通过将该值和阈 值Z比较,用输出Y≤Z和Y>Z定义二元检验。 3.基于离散值的更复杂的检验,该检验中属 性的每个可能值被分配到许多易变的组中, 每组都有一个输出和分枝。 数值型属性检验: 对于属性Y,按训练样本进行分类,分类顺 序用{v1,v2,…,vm}表示,因此对Y仅有m-1个 分区,要系统在检查所有分区以求得最优 分区。通常选择区间的中点为阈值。
相应的增益: Gain(x1)=0.94-0.694=0.246
按属性3分区可得子集的熵的加权和:
infox2(T)=6/14(-3/6log2(3/6)-3/6log2(3/6)) +8/14(-6/8log2(6/8)-2/8log2(2/8)) =0.892
相应的增益: Gain(x2)=0.ቤተ መጻሕፍቲ ባይዱ4-0.892=0.048 由于属性2是数值型的连续数据,不能简 单按上面方式计算。下面先介绍一下C4.5 算法中一般包含3种类型的检验结构: 1.离散值的“标准”检验,对属性的每个可 能值有一个分枝和输出。
对于树中的非叶节点,可以沿着分枝 继续分区样本,每一个节点得到它相 应的样本子集。 生成决策树的一个著名的算法是 Quinlan的ID3算法,C4.5是它改进版。
ID3算法的基本思路: 1. 从树的根节点处的所有训练样本开始,选 取一个属性来划分这些样本。对属性的每 一个值产生一分枝。分枝属性值的相应样 本子集被移到新生成的子节点上。 2. 这个算法递归地应用于每个子节点,直到 一个节点上的所有样本都分区到某个类中。 3. 到达决策树的叶节点的每条路径表示一个 分类规则。
i 1 n
分区所对应的信息增益:
Gain( X ) info (T ) info x (T )
上式度量了按照检验X进行分区的T所得到 的信息。该增益标准选择了使Gain(X)最大 化的检验X,即此标准选择的具有最高增益 的那个属性。 例如:给定训练样本如表7-1,14个样本,3 个属性,分为两个类。
Gain(x3)=0.94-0=0.94 产生两个分枝为最终叶节点,分枝中的数据 子集属于同一类。
对根节点下的T3子集进行同样的计算,按 属性3=真和属性3=假检验,产生两个叶节 点。图7-5表示数据库T的最终决策树。
另外,决策树可以用可执行代码(或伪代码) 的形式表示。图7-6用伪代码给出了上面例 子的决策树。
而C4.5算法选择{vi,vi+1}的最小值vi为阈值。 这确保出现结果中阈值属于数据库的一个 值。 对于上例,属性2的值的集合是: {65,70,75,78,80,85,90,95,96} 可能的阈值Z的集合是: {65,70,75,78,80,85,90,95}。 从这8个值里选择最优的阈值(最高信息增 益),最优的Z=80。(如果计算?)
另外,每个样本都有一个相关的新参数,即 概率。显然,当一个值已知的样本从T分配 给Ti时,它属于Ti的概率是1,属于其他所 有子集的概率是0。 当一值是未知时,只能得出不稳定的概率 描述。因此C4.5和每个子集Ti中的每个样本 是用权重w联系起来的,它表示属于每个子 集的样本概率。 为了使该解决方法更具一般性,必须认为 分区前样本的概率并不总是等于1。因此, 分区后丢失值的新参数wnew为: wnew=wold· P(Ti)
第6章 决策树和决策规则
本章目标 分析解决分类问题的基于逻辑的方法的特 性. 描述决策树和决策规则在最终分类模型中 的表述之间的区别. 介绍C4.5算法. 了解采用修剪方法降低决策树和决策规则 的复杂度.
决策树和决策规则是解决实际应用中分类 问题的数据挖掘方法。 一般来说,分类是把数据项映射到其中一 个事先定义的类中的这样一个学习函数的 过程。由一组输入的属性值向量(也叫属性 向量)和相应的类,用基于归纳学习算法得 出分类。 学习的目标是构建一个分类模型,通常也 叫分类器。它可以根据有效的属性输入值 预测一些实体(所给样本)的类。是一个在样 本其他属性已知的情况下预测另外一个属 性(样本的类)的模型(分类的结果)。
3. T包含属于不同类的样本。这种情况 下,是把T精化成朝向一个单类样本 集的样本子集。根据某一属性,选择 具有一个或更多互斥的输出 {O1,O2,…,On}的合适检验。T被分区 成子集T1,T2,…,Tn。T的决策树包含 标识检验的一个决策点和每个可能输 出的一个分枝(如图7-3a中的A,B和C 节点)
C4.5算法的构架是基于亨特的CLS方法, 其通过一组训练样本T构造一个决策树。 用{C1,C2,…,CK}来表示这些类,集合T所 含的内容信息有3种可能性: 1. T包含一个或更多的样本,全部属于单个 的类Cj。那么T的决策树是由类Cj标识的一 个叶节点。 2. T不包含样本。决策树也是一个叶,但和 该叶关联的类由不同于T的信息决定,如T 中的绝大多数类。
6.3 未知属性值
C4.5算法的前一版本是基于所有属性值都 已确定这一假设。但是在一个数据库,经 常会缺少某些样本的一些属性。由于该属 性值与某个样本是不相关的,或搜集样本 时没有对它进行记录,或在数据录入时有 人为的误差,就可能出现属性值丢失的情 况。
解决丢失值问题的两种方法: 1.抛弃数据库中有丢失数据的样本。 2.定义一个新的算法或改进现有算法来处理 丢失的数据。 第一种解决方案很简单,但当样本集中存 在大量丢失值时不能采用这种方法。 在C4.5算法中,有未知值的样本是按照已知 值的相对频率随机分布的,这是普遍使用的 法则。
2.4/0.4
上图与图7-6结构相同,但是因为最终分类的 不明确性,每个决策都以形式(|Ti|/E)和两个参 数关联。|Ti|是到叶节点的部分样本和,E是属 于除了指定类以外的类的样本的数量。
该算法的关键性决策是对节点属性值的选 择。ID3和C4.5算法的属性选择的基础是 基于使节点所含的信息熵最小化。 基于信息论的方法坚持对数据库中一个样 本进行分类时所做检验的数量最小。ID3的 属性选择是根据一个假设,即:决策树的 复杂度和所给属性值表达的信息量是密切 相关的。基于信息的试探法选择的是可以 给出最高信息的属性,即这个属性是使样 本分类的结果子树所需的信息最小。
6.2 C4.5算法:生成一个决策树
C4.5算法最重要的部分是由一组训练样本 生成一个初始决策树的过程。决策树可以 用来对一个新样本进行分类,这种分类从 该树的根节点开始,然后移动样本直至达 叶节点。在每个非叶决策点处,确定该节 点的属性检验结果,把注意力转移到所选 择子树的根节点上。
例如,如图7-3a为决策树分类模型,待分 类有样本如图7-3b所示,由决策树分类模 型可得出待分类样本为类2。(节点A,C,F(叶 节点))
相关文档
最新文档