ML02-决策树

·

0 min read

西瓜书学习笔记

James

2019-05-22

决策树

信息熵,信息增益,信息增益率和基尼系数

信息熵(Information Entropy)是度量样本级和纯度最常用的一种指标。假设当前样本集合 $D$ 中第 $k$ 类样本所占的比例为 $pk\ (k=1,2,\dots,n)$, 则 $D$ 的信息熵定义为 $$Ent(D)=-\sum{k=1}^{n}p_k\log{p_k}$$

信息熵的值越小,纯度越高。

假设离散属性$a$有$V$个可能的取值${a^1,a^2,\dots,a^V}$,若使用$a$来对样本集$D$进行划分,则会产生$V$个分支结点,其中第$v$个分支结点包含了$D$中所有在属性$a$上取值为$a^v$的样本,记为$D^v$。

  • 信息增益定义为: $$Gain(D,a)=Ent(D-\sum_{v=1}^V \frac{|D^v|}{|D|}Ent(D^v)$$

  • 信息增益率定义为: $$Gain_ratio(D,a)=\frac{Gain(D,a)}{IV(a)}$$ 其中 $$IV(a)=-\sum_{v=1}^V\frac{|D^v|}{|D|}\log{\frac{|D^v|}{|D|}}$$

  • 基尼系数定义为: $$Gini(D)=\sum{k=1}^{N}\sum{k'\neq k}pkp{k'}=1-\sum_{k=1}^Np_k^2$$ 属性$a$的基尼指数定义为 $$Gini_index(D,a)=\sum_{v=1}^V\frac{|D^v|}{|D|}Gini(D^v)$$

不同决策树使用的划分标准

ID3决策树采用信息增益作为划分标准。

C4.5采用信息增益率作为划分标准。

CART决策树采用基尼系数作为划分标准。

剪枝

剪枝是决策树算法应对过拟合的主要手段。剪枝基本策略有“预剪枝”(prepruning)和“后剪枝”(postpruning)。

预剪枝是指在决策树生成过程中,对每个结点在划分前进行估计,若当前结点的划分不能带来决策树泛化能力的提升,则停止划分并将当前结点标记为叶子结点。

后剪枝是指先从训练集生成一棵完整的决策树,然后自底向上的对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化能力的提升,则将该子树替换为叶结点。

连续值的处理

由于连续属性可取值数目不再有限,我们不能够直接更具连续属性的可取值来对节点进行划分,此时需要使用离散化技术将连续属性离散化。

最简单的策略是采用二分法(bi-partition)对连续属性进行处理, 二分法也是C4.5所采用的方法。二分法将小于某一特定值的属性划为一类,将大于某一特定值的属性划分为另一类,之后便可以使用离散值的划分标准进行判断。

缺失值的处理

不考虑当前属性有缺失值的样本,对剩余样本进行划分。

确定划分结果后,当前属性有缺失值的样本按比例加入到各分支进行进一步的划分。