C4.5 算法
C4.5算法是用于生成决策树的的一种经典算法,是ID3算法的一种延伸和优化。改进了点:
(1)通过信息增益率选择分裂属性,克服了ID3算法中通过信息增益倾向于选择拥有多个属性值的属性作为分裂属性的不足;
(2)能够处理离散型和连续型的属性类型,即将连续型的属性进行离散化处理;
(3)构造决策树之后进行剪枝操作;
(4)能够处理具有缺失属性值的训练数据
ID3 核心原则是每次切分都是通过“最大信息熵增益”,但它一般会选择有较多属性值的Feature,因为属性越多的Feature会有相对较大的信息增益。
C4.5 相对ID3 来说避免了采用信息增益度量存在的一个缺点 , 而C4.5 采用了信息增益比率来选择分支的准则
信息增益比
信息增益比 = 惩罚参数 * 信息增益
书中公式:
注意:其中的HA(D),对于样本集合D,将当前特征A作为随机变量(取值是特征A的各个特征值),求得的经验熵。
(之前是把集合类别作为随机变量,现在把某个特征作为随机变量,按照此特征的特征取值对集合D进行划分,计算熵HA(D))
信息增益比本质: 是在信息增益的基础之上乘上一个惩罚参数。特征个数较多时,惩罚参数较小;特征个数较少时,惩罚参数较大。
惩罚参数:数据集D以特征A作为随机变量的熵的倒数,即:将特征A取值相同的样本划分到同一个子集中(之前所说数据集的熵是依据类别进行划分的)
缺点:信息增益比偏向取值较少的特征
原因: 当特征取值较少时HA(D)的值较小,因此其倒数较大,因而信息增益比较大。因而偏向取值较少的特征。
使用信息增益比:基于以上缺点,并不是直接选择信息增益率最大的特征,而是现在候选特征中找出信息增益高于平均水平的特征,然后在这些特征中再选择信息增益率最高的特征。
C4.5 通过引入一个被称作分裂信息的项来惩罚取值较多的Feature,还弥补了ID3 中不能处理特征属性连续的问题,但对连续属性值需要扫描排序,使C4.5性能下降