决策树知识归纳
1.关系思维导图
算法 | 支持模型 | 树结构 | 特征选择 | 连续值处理 | 缺失值处理 | 剪枝 |
---|---|---|---|---|---|---|
ID3 | 分类 | 多叉树 | 信息增益 | 不支持 | 不支持 | 不支持 |
C4.5 | 分类 | 多叉树 | 信息增益比 | 支持 | 支持 | 支持 |
CART | 分类、回归 | 二叉树 | 基尼系数、均方差 | 支持 | 支持 | 支持 |
2.思考
①C4.5与CART算法中某一特征被使用后还能被重复使用吗?
对于C4.5,如果Xi是连续特征,将Xi的值进行排序,按照相邻离散值的中点进行分裂,可以说在连续特征上,C4.5是二叉分裂的。
对于CART,无论Xi是连续特征还是离散特征都是二叉分裂。那么如果Xi有多于2个离散值,即便Xi是离散特征,也可以经受多次重复使用。
综上,如果在该分支下特征Xi还能继续被分,那就可以重复使用,否则不可重复使用。
参考:CART算法中某一特征被使用后还能被重复使用吗?–Evan 回答
②如何理解ID3算法的信息增益偏向选取属性值较多的属性?
从公式出发【信息增益 = 整个数据集的经验熵 - 特征A对整个数据集的经验条件熵】,信息增益越大即经验条件熵越小。什么情况下的属性会有极小的的经验条件熵呢?
举个极端的例子,如果将身份证号作为一个属性,那么,其实每个人的身份证号都是不相同的,也就是说,有多少个人,就有多少种取值,如果用身份证号这个属性去划分原数据集,那么,原数据集中有多少个样本,就会被划分为多少个子集,这样的话,会导致信息增益公式的第二项整体为0,虽然这种划分毫无意义,但是从信息增益准则来讲,这就是最好的划分属性。
从概念来讲,信息增益表示由于特征A而使得数据集的分类不确定性减少的程度,信息增益大的特征具有更强的分类能力。
参考:信息增益准则为什么对可取值数目较多的属性有所偏好? --愷慝 回答
③C4.5的信息增益率如何避免信息增益偏向选取属性值较多的属性的情况?
C4.5添加了分裂信息项阻碍选择值为均匀分布的属性。例如,考虑一个含有n个样例的集合被属性A彻底分割(译注:分成n组,即一个样例一组)。这时分裂信息的值为log2n。相反,一个布尔属性B分割同样的n个实例,如果恰好平分两半,那么分裂信息是1。如果属性A和B产生同样的信息增益,那么根据增益比率度量,明显B会得分更高。
但是使用增益比率也有一个实际问题——当某个Si接近S(|Si|»|S|)时分母可能为0或非常小。如果某个属性对于S的所有样例有几乎同样的值,这时要么导致增益比率未定义,要么是增益比率非常大。为了避免选择这种属性,我们可以采用这样一些启发式规则,比如先计算每个属性的增益,然后仅对那些增益高过平均值的属性应用增益比率测试(Quinlan 1986)。