决策树学习

1:划分选择

决策树的学习关键是如何选择最优划分属性,一般而言,随着划分过程不断进行,我们希望决策树的分支点所包含的样本尽可能属于同一类别,即结点的“纯度”越来越高。

1.1 信息增益

“信息熵”是度量样本集合纯度最常用的一种指标。假定当前样本集合D中第k类样本所占比例为P_{k},则D的信息熵定义为

Ent(D)=-\sum^{|y|}_{k=1}p_{k}log_{2}p_{k}

Ent(D)的值越小,则D的纯度越高。

假定离散属性a有V个可能的取值\left \{ a^{1},a^{2},...,a^{V} \right \},若使用a来对样本集D进行划分,则会产生V个分支结点,其中第v个分支结点包含了D中所有在属性a上取值a^{v}的样本,记为D^{v}。再考虑到不同分支结点所包含的样本数不同,给分支结点赋予权重|D^{v}|/|D|,即样本数越多的分支结点的影响越大,于是可计算出用a属性对样本集D进行划分所获得的“信息增益”

Gain(D,a)=Ent(D)-\sum^{V}_{v=1}\frac{|D^{v}|}{D}Ent(D^{v})

一般而言,信息增益越大,意味着使用属性a来划分所获得的“纯度提升”越大。因此,我们可用信息增益来进行决策树的划分属性的选择。

1.2 增益率

事实上,信息增益准则对可取值数目较多的属性有所偏好,为减少这种偏好可能带来的不利影响,著名的C4.5决策树算法使用“增益率”来选择最优划分属性,增益率定义为

Gain-ratio(D,a)=\frac{Gain(D,a)}{IV(a)}

其中

IV(a)=-\sum^{V}_{v=1}\frac{|D^{v}|}{|D|}log_{2}\frac{|D^{v}|}{|D|}

称为属性a的“固有值”。属性a的可能取值数目越多(即V越大),则IV(a)的值通常会越大。

1.3 基尼指数

CART决策树使用“基尼指数”来选择划分属性,数据集D的纯度可用基尼值来度量:

Gini(D)=\sum^{|y|}_{k=1} \sum_{k^{'}\neq k} p_{k}p_{k^{'}}=1-\sum^{|y|}_{k=1}p^{2}_{k}

直观来说,Gini(D)反映了从数据集D中随机抽取两个样本,其类别标记不一致的概率。因此Gini(D)越小,则数据集D的纯度越高。属性a的基尼指数定义为

Gini-index(D,a)=\sum^{V}_{v=1}\frac{|D^{v}|}{|D|}Gini(D^{v})

于是我们选择划分后基尼指数小的属性作为最优划分属性。

2:剪枝处理

为了尽可能正确分类训练样本,有可能造成分支过多,造成过拟合。因此,可通过主动去掉一些分支来降低过拟合的风险。

2.1 预剪枝

在节点划分前来确定是否继续增长,及早停止增长的主要方法有:
1,节点内数据样本低于某一阈值;
2,所有节点特征都已分裂;
3,节点划分前准确率比划分后准确率高。

2.2 后剪枝

C4.5 采用的悲观剪枝方法,用递归的方式从低往上针对每一个非叶子节点,评估用一个最佳叶子节点去代替这课子树是否有益。如果剪枝后与剪枝前相比其错误率是保持或者下降,则这棵子树就可以被替换掉。C4.5 通过训练数据集上的错误分类数量来估算未知样本上的错误率。

3:连续与缺失值

3.1 连续值处理

由于连续属性的可取值数目不再有限,因此,不能直接根据连续属性的可能取值来对结点进行划分。我们将采用“二分法”对连续属性进行离散化处理。二分法计算公式\frac{a_{i}+a_{i+1}}{2}

3.2 缺失值处理

前面我们讨论的决策树的生成和修剪都是基于完整的数据集的。但实际情况中,数据缺失很普遍,可能是训练集数据的某些特征缺失,也有可能是测试集数据的某些特征缺失。缺失数据的处理方式通常有3种:删除、推算和归类。

(1)删除法
删除数据最简单,有两种方式:
①删除行(数据点)。
②删除列(特征)。
删除法的优点
①操作简单。
②可以用在任何模型中。
删除法的缺点
①删除的数据可能包含重要信息。
②不知道删除行还是删除列好。
③对缺失数据的测试集没用。

(2)推算法
根据特征值是分类型变量还是数值型变量,有两种推算方法:
①用众数来推算分类型变量。
②用平均数来推算数值型变量。
推算法的优点
①操作简单。
②可以用在任何模型中。
③对缺失数据的测试集有用。
推算法的缺点
可能会造成系统性误差。

(3)归类法
归类法的核心思想是把缺失值也当作一种特征值。
当某个特征的特征值确缺失时,在最开始我们无法利用决策树来做出决策。我们只需要把该特征的缺失值归为某一类,就可以得出决策。
将缺失值归为哪一类其实是由最小错误率决定的。
比如对于特征“长相”对应的三个特征值“好看”,“一般”和“难看”,该特征出现了缺失值。那么我们就分别计算将缺失值分别划分到“好看”,“一般”和“难看”三个类别的错误率,哪个错误率最小就将缺失值划分到对应的那个类别。
归类法的优点
①比删除法和推算法的预测更准。
②对有缺失数据的训练集和测试集都有用。
归类法的缺点
每次归类时都需要运行决策树的分裂算法,效率比其他两种方法低。

4:多变量决策树

决策树所形成的分类边界有一个明显的特点:轴平行,即它的分类边界由若干个与坐标轴平行的分段组成。例如有如下决策树:

其对应的分类边界:

 

可以看出此时分类边界并不简单,分成了好几段。若能使用斜的划分边界,则决策树模型将大为简化。

“多变量决策树”(multivariate decision tree)就是能实现这样的“斜划分”甚至更复杂划分的决策树。以实现斜划分的多变量决策树为例(这样的多变量决策树亦称“斜决策树”(oblique decision tree)),在此类决策树中,非叶结点不再是仅对某个属性,而是对属性的线形组合进行测试。例如:

其对应的分类边界:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值