![9537d507176890ad571980b96e75b6a8.png](https://i-blog.csdnimg.cn/blog_migrate/1e875d4a0b74ccc0134f4b17c4e80cf8.jpeg)
决策树是一个非常常见的优秀的机器学习算法,决策树易于理解,可解释性强,既可以作为分类算法也可用于回归模型。决策树是一个有监督的分类模型,其本质是选择一个能带来最大信息增益的特征值进行树的分割,直到到达结束条件。
![b1f74c15f906a5e8e74f5326c8612566.png](https://i-blog.csdnimg.cn/blog_migrate/5c31054eaef0f9bdda885df39579a062.png)
可以看出决策树的生成方式就是依据特征进行if else分割最终实现分类的目的。
按照分割指标和分割方法,决策树的经典模型可以分为ID3、C4.5以及CART。接下来一一进行总结。
ID3
要想更好地理解决策树的算法首先我们应该弄清楚几个概念:熵,条件熵,信息增益
熵
根据李航的《统计学习方法》,我们可以得到熵的定义:熵表示随机变量不确定性的度量。
假设X是一个取有限个值的离散型随机变量,概率分布为:
很多博客或者解释中,把定义中不确定性称作信息,(对于概率大的事件,如果发生则对应少信息。越可能发生的事件,当它发生时,信息量很少。相反,越不可能发生的事件,当它发生时,蕴含着巨大的信息。)为了表示括号中的关系,我们对事件发生的概率取负对数函数,即信息:
这个期望
条件熵
设有随机变量(X, Y),其联合概率分布为
条件熵
信息增益
信息增益表示得知特征A的信息后,是得类X的信息的不确定性减少程度。
一般的,熵
决策树学习应用信息增益准则选择特征。给定训练数据集D和特征A,训练数据的熵H(D)表示对数据集D进行分类的不确定性。而条件熵H(D|A)表示在特征A给定的条件下对数据集D进行分类的不确定性,他们的差就是信息增益表示由于特征A而使得对数据集D的分类不确定性减少的程度。不同的特征往往具有不同的信息增益,信息增益大的特征具有更前的分类能力。
回到ID3 算法
ID3算法的分类标准就是信息增益。
现在假设数据集为D,|D|表示其样本容量,及样本个数。设有K个类
分类标准计算:
(1)首先计算数据集D 的熵H(D)
(2)计算特征A对数据集D的条件熵H(D|A)
表示在特征A条件下,A特征的每一个取值(共n个)下数据子集熵的期望。
所以
(3)计算信息增益
C4.5
ID3 的信息增益准则对可取值数目较多的特征有所偏好,并且趋向于对数据的细分容易造成过拟合。C4.5算法最大的特点是克服了ID3对特征数目的有偏好这一缺点,引入信息增益率来作为分类标准。
信息增益率对可取值较少的特征反而有所偏好,分母越小,信息增益率越大。因此C4.5决策树先从候选划分属性中找出信息增益高于平均水平的属性,在从中选择增益率最高的。通过特征A的固有值来制约决策树的分割。从而解决过拟合问题。
CART
ID3和C4.5虽然在队训练样本机的学习中可以尽可能多的挖掘信息,但是其生成的决策树分支和规模都比较大。CART算法的二分法可以简化决策树的规模,提高生成决策树的效率。
CART的划分准则
CART的划分准则是计算数据集的基尼系数。基尼系数代表了模型的不纯度,基尼系数越小不纯度越低,特征越好。而熵模型是基于对数的运算进行的,计算相对会比较慢。
假设样本有K个类别,且第k个类别的概率为pk,则基尼系数表示为:
对于样本D,根据特征A=a,把D分为D1和D2两类,则在特征A的条件下,D的基尼系数表示为:
基尼系数反映了从数据集中随机抽取两个样本,其类别标记不一致的概率。因此基尼系数越小,则不纯度越高。