吃瓜笔记04 决策树

学习内容:西瓜书和南瓜书--第4章 

讲解课程:Datawhale吃瓜教程(【吃瓜教程】《机器学习公式详解》(南瓜书)与西瓜书公式推导直播合集_哔哩哔哩_bilibili)


目录

第4章 决策树

4.1 算法流程

4.2 划分选择

4.3 剪枝处理

4.4 连续与缺失值

4.5 多变量决策树


第4章 决策树

4.1 算法流程

决策树算法:

吃瓜笔记04 决策树_第1张图片显然,决策树的生成是一个递归过程,在决策树基本算法中,有三种情形会导致递归返回:(1)当前结点包含的样本全属于同一类别,无需划分;(2)当前属性集为空,或是所有样本在所有属性上取值相同,无法划分;(3)当前结点包含的样本集合为空,不能划分.
在第(2)种情形下,我们把当前结点标记为叶结点,并将其类别设定为该结点所含样本最多的类别;在第(3)种情形下,同样把当前结点标记为叶结点,但将其类别设定为其父结点所含样本最多的类别,注意这两种情形的处理实质不同:情形(2)是在利用当前结点的后验分布,而情形(3)则是把父结点的样本分布作为当前结点的先验分布.

4.2 划分选择

信息熵:是自信息的期望

信息熵=信息包含信息量=变量不确定性=事物混乱程度

吃瓜笔记04 决策树_第2张图片

信息熵作用:信息熵代表的“不确定性”==>集合内样本的“纯度"

吃瓜笔记04 决策树_第3张图片

条件熵:已知X分布求Y的信息熵(Y的纯度)

吃瓜笔记04 决策树_第4张图片

1. 信息增益(ID3决策树):

吃瓜笔记04 决策树_第5张图片

信息增益缺点:偏向取值多的属性。 当属性的取值值过多,每个取值的样本数量少,导致纯度高,实际上度量是不正确的。

2. 增益率(C4.5决策树):

吃瓜笔记04 决策树_第6张图片

C4.5决策树并未完全使用“增益率"代替"信息增益",而是采用一种启发式的方法:先选出信息增益高于平均水平的属性,然后再从中选择增益率最高的。

GINI值:

吃瓜笔记04 决策树_第7张图片

3. GINI指数(CART决策树):

吃瓜笔记04 决策树_第8张图片

 属性取值的划分:按二叉树形式来划分并计算GINI系数

吃瓜笔记04 决策树_第9张图片

4.3 剪枝处理

剪枝(pruning)是决策树学习算法对付“过拟合”的主要手段。

决策树剪枝的基本策略有“预剪枝”(prepruning)和“后剪枝”(post-pruning),预剪枝是指在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶结点;后剪枝则是先从训练集生成一棵完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点。

判断决策树泛化性能是否提升,可使用2.2节介绍的性能评估方法。如留出法使用验证集验证。

总结:后剪枝决策树通常比预剪枝决策树保留了更多的分支,一般情形下,后剪枝决策树的欠拟合风险很小,泛化性能往往优于预剪枝决策树,但其训练时间开销比未剪枝决策树和预剪枝决策树都要大得多.

对决策树的拓展:处理连续与缺失值、多变量决策树

4.4 连续与缺失值

1. 针对连续值:

最简单的策略是采用二分法对连续属性进行处理,就是C4.5决策树算法中采用的机制.
给定样本集D和连续属性a,假定a在D上出现了n个不同的取值,将相邻取值的中位数作为候选划分点,得到n-1个元素。

然后使用信息增益等方法确定最终划分点。

2. 针对缺失值:

我们需解决两个问题:(1)如何在属性值缺失的情况下进行划分属性选择?(2)给定划分属性,若样本在该属性上的值缺失,如何对样本进行划分?

吃瓜笔记04 决策树_第10张图片吃瓜笔记04 决策树_第11张图片 

吃瓜笔记04 决策树_第12张图片

4.5 多变量决策树

若能使用斜的划分边界,如图4.12中红色线段所示,则决策树模型将大为简化."多变量决策树”(multivariate decision tree)就是能实现这样的“斜划分”甚至更复杂划分的决策树,以实现斜划分的多变量决策树为例,在此类决策树中,非叶结点不再是仅对某个属性,而是对属性的线性组合进行测试。

吃瓜笔记04 决策树_第13张图片

你可能感兴趣的:(决策树)