和决策树有关的算法一共有3种,分别为ID3,C4.5和CART。前两种算法为同一个作者Quinlan,后一个作者是Breiman et al.。
ID3
- 信息熵(information entropy):衡量数据集的纯度。如果该数据集分类越少(越纯),例如只有2种分类结果,则该数据集的信息熵比有3种分类结果的信息熵要小。公式为:
。注:logPk的结果为负数,因为Pk为小于1的数。
- 信息增益(information gain):
。信息增益越大,则按照a属性进行决策树节点分支的划分,对“纯度提升”越大,也就是越有帮助。一条数据一般有一些属性,我们计算每一个属性,找到使Gain(D,a)最大的属性,进行划分。V表示该属性a所包含的不同值的个数。Dv表示数据集D中,每条数据其属性a取某一个值时的数据条数。因此,我们发现,ID3的计算原则是根据信息增益来进行节点划分。
- ID3缺点:ID3对可取值数目较多的属性有多偏爱。如果我们增加一个编号的属性,每条数据都赋予从1开始的不同值,如果按照编号进行划分,则每条数据为一个叶子节点,这样做的泛化性能很差。为避免这种情况的发生,作者又提出了C4.5。
C4.5
- C4.5为ID3方法的改进。根据“增益率”进行计算,挑选最优化分属性。
- 增益率计算公式:
其中Gain(D,a)为信息增益,IV(a)为成为属性a的固有值。属性a取值数量越大,IV(a)越大,这就避免了ID3的缺点。