决策树之ID3, C4.5与CART区别
ID3决策树
著名的ID3决策树以信息增益为准则来选择划分属性;
区别于C4.5决策树算法,C4.5决策树算法是以增益率(gain ratio)来选择最优划分属性
ID3名字中的ID是Iterative Dichotomser(迭代二分类器)的简称
“信息熵(information entropy)是度量样本集合纯度最常用的一种指标。
假设当前样本集合D中第k类样本所占的比例为
,则D的信息熵定义为:
Ent(D)的值越小,则D的纯度越高。
假定离散属性
有
个可能的取值
,若使用
来对样本集
进行划分,则会产生
个分支节点,其中第
个分支节点包含了
中所有在属性
上取值为
的样本,记为
.
我们可以根据上式计算出
的信息熵,再考虑到不同的分支节点所包含的样本数不同,给分支节点赋予权重
,即样本数越多的分支节点的影响越大,于是可计算出用属性
对样本集
进行划分所获得的“信息增益”(information gain)
一般而言,信息增益越大,则意味着使用属性 来进行划分所获得的“纯度提升”越大。因此,我们可使用信息增益来进行决策树的划分属性选择,即选择属性
注:使用信息增益与使用信息增益率作为属性选择的差别:从信息增益的定义式不难发现,若以信息增益作为属性选择依据,则该决策树生成时更倾向于选择可取值数目较多的属性(西瓜书中也有“实际上,信息增益准则对可取值数目较多的属性有所偏好”).因此C4.5决策树算法作为ID3决策树算法的改进版,引入增益率,来消除这种不利影响,但“增益率准则对可取数目较少的属性有所偏好”,
因此,C4.5算法并不是直接选择增益率最大的候选划分属性,而是使用了一个启发式:先从候选划分属性中找到信息增益高于平均水平的属性,在从中选择增益率最高的。“
C4.5决策树
ID3决策树使用信息增益准则划分属性,但信息增益准则对可取值数目较多的属性有所偏好。为了解决这个问题,Quinlan于1993提出C4.5决策树作为ID3决策树算法的改进版,不再直接使用信息增益,而是使用“增益率”(gain ratio)来选择最优划分属性,采用与上式相同的符号表示,增益率定义为:
其中
成为属性 的“固有值”(intrinsic value)。属性 的可能取值数目越多(即V越大),则 的值通常会越大。
可参考西瓜书 示例
需要注意的是,引入增益率是为了消除“信息增益准则对可取值数目较多的属性有所偏好”,,但“增益率准则对可取数目较少的属性有所偏好”,因此,C4.5算法并不是直接选择增益率最大的候选划分属性,而是使用了一个启发式:先从候选划分属性中找到信息增益高于平均水平的属性,在从中选择增益率最高的。
CART决策树
CART决策树使用“基尼指数”(Gini index)来选择划分属性,
假设当前样本集合D中第k类样本所占的比例为
,数据集D的纯度可用基尼值来度量:
直观来说, 反映了从数据集D中随机抽取两个样本,其类别标记不一致的概率。因此, 越小,则数据集 的纯度越高。
采用与上式相同的符号表示,属性 的基尼指数定义为:
于是,我们在候选属性集合A中,选择那个使得划分后基尼指数最小的属性作为最优划分属性,即