携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天,点击查看活动详情
C4.5使用信息熵的概念,从一组训练数据中构建决策树,方法与ID3相同。训练数据是已经分类的样本的集合S = s1,s2,....。每个样本si由一个p维向量(x1i、x2i、……、xpi)组成,其中xj(j=1,...p)表示样本的属性值或特征,以及si所属的类。
在树的每个节点上,C4.5选择数据的属性,该属性最有效地将它的样本集分割成富含有一个类或其它类的子集。分割准则为标准化信息增益比(即熵差增长率)。选择标准化信息增益比最高的属性进行决策。然后,C4.5算法在较小的子集链上重复出现。
该算法有几个基本情况 。
(1) 列表中的所有示例都属于同一个类。当发生这种情况时,它只会为决策树创建一个叶子节点,并在节点上注明该类。
(2) 没有任何特征提供任何信息增益,在此种情况下,C4.5使用类的期望值在树的上面创建一个决策节点。
(3) 遇到以前不曾见过的类。同样,C4.5使用期望值在树的上面创建一个决策节点。
C4.5 算法流程:****
-
检查上述基本情况。
-
对于每个属性a,计算a分割数据后得到的标准化的信息增益比率。
-
选取具有最大标准化信息增益比的属性。
-
创建一个在所选属性上分割的决策节点。
-
在所选属性上拆分所获得的子集上重新执行。
C4.5 对 ID.3 的改善:****
C4.5对ID3做了一些改进。这些是:
1) 处理连续和离散属性 -为了处理连续属性,C4.5创建一个阈值,然后将列表拆分为属性值高于阈值的值,以及小于或等于该阈值的值。
2) 处理缺少属性值的训练数据-C4.5允许将属性值标记为?表示为缺失。缺失的属性值在增益和熵计算中是不使用的。
3) 处理带有不同权重的属性-精心设计或者重要的特征可以分配更高的成本权重。
4) 在创建后修剪决策树-一旦它被创建,C4.5通过树返回并尝试移除那些没有用叶子代替它们的分支。此外,为了减少分类的可能结果类的数量,C4.5切断了长分支。 这也可以防止过度拟合训练数据