Datawhale吃瓜教程-task3学习笔记(第四章)

第四章 决策树

4.1基本流程

1.决策树基于树结构进行决策,通过一系列的判断或“子决策”得到最终决策,其目的是产生一棵泛化能力强,即处理未见示例能力强的决策树。

2.决策树一般包含三类结点:根结点、内部结点、叶结点。根结点包含样本全集,每个结点包含
的样本集合根据属性测试的结果被划分到子结点中,叶结点则对应着决策结果。从根结点到每个个叶结点的路径对应了一个判定测试序列。
3.决策树学习基本算法

Datawhale吃瓜教程-task3学习笔记(第四章)_第1张图片

 在上述算法中共有三种情形会导致递归返回

(1)当前结点包含的样本全属于同一类别,无需划分;

(2)当前属性集为空,或是所有样本在所有属性上取值相同,无法划分;

(3)当前结点包含的样本集合为空,不能划分.

在第(2)和(3)种情形下,当前结点均会被标记为叶节点,区别是前者将其类别设定为该结
点所含样本最多的类别,后者将其类别设定为其父结点所含样本最多的类别。

4.2划分选择

目的:使决策树的分支结点所包含的样本尽可能属于同一类别,即结点的“纯度”越来越高。

1.信息增益

信息熵

信息熵是常用的度量样本集合纯度的指标,其定义为

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

信息增益

 D^{v}记为D中所有在属性a上取值为a^{v}的样本,可根据上式计算D^{v}的信息熵,再考虑到不同分支节点包含的样本数不同,还会给分支节点赋予权重|D^{v}|/|D|,最后计算出属性a对样本集D进行划分获得的信息增益。

信息增益越大,则意味着使用属性 α 来进行划分所获得的"纯度提升"越大。ID3决策树学习算法就是以信息增益为准则来划分属性。

 2.增益率

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

其中

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

由于增益率对可取纸数目较少的属性有偏好,所以C4.5 决策树算法也并不是直接使用增益率来选择最优划分属性,而是分为以下两步:

(1)从候选划分属性中找出信息增益高于平均水平的属性;

(2)从中选择增益率最高的属性作为最优划分属性。

3.基尼指数

基尼值也可度量数据集D的纯度,其定义如下:
 

Datawhale吃瓜教程-task3学习笔记(第四章)_第2张图片

 Gini(D)反映了从数据集D中随机抽取的两个样本类别标记不一致的概率。若该概率小,那么数据集D中的样本属于同一类别的概率自然大。所以基尼值越小,数据集纯度越高。

属性a的基尼指数定义如下:
 

选择使得划分后基尼指数最小的属性作为划分属性。

CART决策树就是以基尼指数为准则选择划分属性。

4.3剪枝处理

剪枝是决策树学习算法抑制过拟合的主要方法,其基本策略有“预剪枝”和“后剪枝”两种。

  • 预剪枝:在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶结点;
  • 后剪枝:先从训练集生成一棵完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点.

4.4连续与缺失值

1.连续值处理

在决策树学习中使用连续属性需要采用连续属性离散化技术,比如二分法(C4.5决策树算法中采用的机制)。

二分法

给定样本集D和连续属性a,将a在D上的n个取值按从小到大的顺序排序,然后基于划分点t可将D分为两个子集D^{-}_{t}D_{t}^{+},前者包含在属性a上取值不大于t的样本,后者包含在属性a上取值大于t的样本。二分法以每两个相邻取值的中点作为划分点,产生了一个包含n-1个元素的候选划分点集合
 

 于是可以把这些候选划分点按照离散属性值进行考察,信息增益公式可作如下相应变换

 与离散属性不同,若当前结点划分属性为连续属性,该属性还可作为其后代结点的划分属性。

2.缺失值处理

4.5多变量决策树


 


 


 

你可能感兴趣的:(吃瓜教程,机器学习)