决策树的生成主要分两步,节点的分裂和阈值的确定。
ID3
由增熵来决定哪个节点需要分裂,选择信息增益最大的特征作为节点的划分特征。当熵为 1 的时候,是分类效果最差的状态,当它最小为 0 的时候,是完全分类的状态,熵的不断最小化,实际上就是提高分类正确率的过程。
熵、条件熵和信息增益定义如下:
计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据;没有剪枝,可能会产生过度匹配问题,需要进行剪枝;采用信息增益作为选择最优划分特征的标准,然而信息增益会偏向那些取值较多的特征。
C4.5
与 ID3 比,采用信息增益率来选择划分特征,消除属性可选数目的影响;将连续型的属性进行离散化处理;能够处理具有缺失属性值的训练数据;在构造树的过程中进行剪枝。
属性A的可能取值数越多(即K越大),则IV(A)的值通常会越大,信息增益率可以减少对可选数目多的属性的偏好。C4.5 先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择信息增益率最高的。
对于连续属性,取相邻两样本值的平均数做划分点,分别计算以这些点作为二元切分点时的信息增益率。
对缺失值的处理:1)根据缺失比例折算信息增益率;2) 将样本以其他非缺失属性的比例同时划分到不同节点中。 对新的样本进行分类时,计算经过所有分支得到的每个类别的概率,取概率最大的类别赋值给该样本。
前剪枝:节点内数据样本数小于切分最小样本数阈值,所有特征都已分裂,或节点划分前准确率比划分后准确率高时,提前停止增长。后剪枝:C4.5 采用悲观剪枝方法,根据剪枝前后的误判率来判定是否进行子树的修剪。