我对决策树特别感兴趣,感觉这个模型很有魅力。我曾经是一位彻头彻尾的功利主义者(现在也部分是),而我认为决策树的判别准则正是反映出了某种功利主义思想:要不要这么分,用是否有利于最大信息增益来判。
0)概述
- 决策树模型是很多集成模型的基础单元。
- 比较流行的决策树就是ID3、C4.5和CART,三者的区别主要在于损失函数不同。
1)基本概念
决策树最基本的概念就是信息增益,这种想法来自于信息熵:
- 信息熵:
因此,信息增益公式如下:
- 信息增益:
信息增益越大,说明纯度提升越大。要注意信息增益的公式中,已经考虑到了样本数越多的分支节点影响越大。
著名的ID3,就是使用信息增益为准则选择划分属性。
但是,单纯使用信息增益作为划分标准有一个明显的问题:对取值数目较多的属性有所偏好,因此C4.5使用信息增益率来选择最佳划分属性:
- 增益率
值得注意的是:增益率准则是”矫枉过正“的,它对取值数目较少的属性有所偏好。因此C4.5并非是直接选择增益率最大的候选划分属性,而是先从候选划分属性中找到信息增益高于平均水平(这样就筛选掉了那些样本数过少的特征)的属性,再从中选择增益率最大的。
另外,CART决策树采用基尼指数来选择划分属性:
- 基尼指数