决策树简记

  • 具有不同划分准则的算法

    1. 决策树原理剖析及实现(ID3)
    2. 理解决策树算法(实例详解)-ID3算法与C4.5算法

  • ID3(根据 信息增益 划分子节点)
决策树简记_第1张图片
决策树简记_第2张图片
ID3

信息增益准则对可取值数目较多的属性有所偏好!
现在假如我们把数据集中的“编号”也作为一个候选划分属性。我们可以算出“编号”的信息增益是很大,因为每一个样本的编号都是不同的(由于编号独特唯一,每一类样本数为1,条件熵为0了,纯度非常高啊),也就是说,来了一个预测样本,你只要告诉我编号,其它特征就没有用了,这样生成的决策树显然不具有泛化能力。
ID3只能处理离散特征。因为ID3偏向取值较多的特征,而连续值特征的值很多。


  • C4.5(根据 信息增益率


决策树简记_第3张图片
信息增益率

决策树简记_第4张图片
此分母随着类别的增大而增大,可以看做一个类别的惩罚项,弥补ID3的缺陷

有了这个分母之后,我们可以看到增益率准则其实对可取类别数目较少的特征有所偏好!毕竟分母越小,整体越大。
于是C4.5算法不直接选择增益率最大的候选划分属性,候选划分属性中找出信息增益高于平均水平的属性(这样保证了大部分好的的特征),再从中选择增益率最高的(又保证了不会出现编号特征这种极端的情况)。
C4.5可以处理连续特征,因为他不同于ID3,C4.5有IV项,可以惩罚类别过多特征。
1.对于离散特征,C4.5按照该特征的全部特征值进行分裂。
2.对于连续值属性来说,可取值数目不再有限,因此可以采用离散化技术(如二分法)进行处理。将属性值从小到大排序,然后选择中间值作为分割点,数值比它小的点被划分到左子树,数值不小于它的点被分到又子树,计算分割的信息增益率,选择信息增益率最大的属性值进行分割。


  • CART(根据基尼系数,既可以应用于分类又可以回归
  • 分类回归树CART
    CART是一棵二叉树,无论是离散特征还是连续特征,均采用二元切分法,每次把数据切成两份,分别进入左子树、右子树。而且每个非叶子节点都有两个孩子,所以CART的叶子节点比非叶子多1
    Gini(D)反映了数据集D的纯度,值越小,纯度越高。我们在候选集合中选择使得划分后基尼指数最小的属性作为最优化分属性。
    决策树简记_第5张图片
    D表示以A属性值划分的n个分支里每个分支的总样本数,Di表示D中每个最终预测类别的样本数,Gini(D|A)是Gini增益,最好的划分就是使Gini增益最小的划分
  • Gini系数最小的特征被用来划分当前节点的所有样本。

分类树&回归树

决策树分为两大类:分类树和回归树,前者用于预测离散的具体类别:是否晴天/好坏/网页是否是垃圾网页等等。后者预测的是连续的具体的值:年龄/身高等等。前者的累加是没有意义的比如‘男+男+女=?’,而后者结果的加减是有意义的,‘10+3-6=7’

  • 回归树因为结果候选有无穷多类,也就不能预测出具体的类,而是得到某一个数值,更像是预测而不是分类
  • 决策树的分类算法有很多,以具有最大熵的特征进行分类,以信息增益特征进行分类(ID3),以增益率特征进行分类(C4.5),以基尼系数特征进行分类(CART分类与回归树)等等。
  • 回归树与分类树的流程大致一样,不同的是
  1. 回归树在每个节点都会有一个预测值,以年龄为例,该节点的预测值就是所有属于该节点的样本的年龄的均值。
  2. 回归树根据均方误差来选取划分特征。遍历每个特征,穷举每个特征的划分阈值(切分点),而这里不再使用最大熵、信息增益、Gini等分类树的划分标准,使用的是最小化均方差
    n代表节点内样本数。这很好理解,和预测年龄差距越大,均方差也就越大。因此要找到均方差最小的阈值作为划分点。

  • 回归树划分的结束条件一般有两个:
  1. 第一是划分到每一个节点都只包含一个年龄值,但是这太难了,一般来讲,回归树的分枝不太可能实现每个叶子节点上的属性值都唯一,更多的是达到我们预设的终止条件即可(例如叶子个数上限),这样势必会存在多个属性取值,那么该节点处的预测值自然就为基于这些样本所得到的平均值了。
  2. 第二就是划分到一定的深度就停止,取节点内数据的均值作为最终的预测值。

你可能感兴趣的:(决策树简记)