描述决策树,对应《机器学习》周志华,第四章 数据结构中树的概念 树(Tree)是n个结点的有限集。任意一棵非空树中 (1)有且仅有一个特定的结点被称作根结点 (2)n>1,其余结点可分为m个互不相交的有限集T1,T2,……Tn,每个集合本身又是一棵树. 决策树 一般的,决策树包含一个根节点,若干个内部节点和若干个叶子节点,叶节点对应着一个决策树所描述的样本的一个决策结果,其他的每个节点对应了一个属性测试。决策树和数据结构中对“树”这一结构的遍历方式相同,因此它的生成是一个递归过程 1、(1)集合中包含的样本为同一类别 (2)属性集为空 (3)结点的样本集合为空;以上三种情况会导致递归返回(结点没有子树)。 划分选择即选择最优的划分属性,根据信息增益测算某一属性对样本进行划分的“纯度”,信息增益越高,“纯度”越高; C4.5算法使用“增益率“这一概念对应了选择最优划分属性的依据,对属性a,属性a的取值数目越多,其增益率的值越大。 CART决策树使用基尼系数划分属性。基尼系数的直接意义是“从数据集中随机抽取两个样本,其类别标记不一致的概率,Gini(D)越小,纯度越高。 如图4-4所示 2、(1)现根据数据集给出的信息选定一个Gain(D,)信息增益最大的属性,{色泽,敲声,纹理,脐部,触感},选择“纹理” (2)“纹理“根节点的一级子树的确定,对应{“纹理”}的三个取值{“清晰”,“稍糊”,“模糊”},对每一项取值找出其子集内元素Gain(D,)信息增益最大的属性作为子树的根节点。 (3)以此类推,由步骤(1),(2)确定结点和对应的子树,在符合某些条件的情况下结点没有子树。 为防止过拟合的情况,可通过“主动去除某些分支”来降低过拟合出线的可能。 预剪枝 判断结点划分前后的验证集精度,如划分后验证集精度更高预剪枝决策划分,若精度更低预剪枝决策禁止划分(精度体现于样本集中“好瓜”或“坏瓜”占样本集总数的百分率,因此往往更具代表性的子树会被划分) *图4-5为处理前,如图4-6所示 (1)基于验证集的数据,不划分的精度为3/7=0.42,划分后:精度为0.71, (2)注意,划分子树时需要将被划分属性的不同取值设定为正或反。根据在每个子集下正反判断正确的样本数计算属性的不同取值对应的子集在验证集的里的加权值,类似的也可以设定判断错误的惩罚系数,选择加权值最大的划分方式设定属性的不同取值对应的正反判断,而题目中设定了“凹陷”、“稍凹”判断为好瓜(正例);设定“平坦”为坏瓜(反例) (3)预剪枝决策树生成 图4-5为处理前,如图4-7所示 3、后剪枝 相较于“预剪枝”,如果说预剪枝是对结点的划分,后剪枝是对结点下子树的削减。 (1)考察某一结点,计算其节点下一层上的分支结点对应的验证集精度 (2)同“不划分“比较,判断是否剪枝
|