第四章 决策树
来源:互联网 发布:矩阵霸主音响套装 编辑:程序博客网 时间:2024/06/07 09:24
1、基本流程
西瓜问题的决策过程:
根结点包含样本全集。
叶结点对应决策结果。(类别标记为样例中最多的类别)
其他结点对应属性测试,每个结点包含的样本集合根据属性测试的结果被划分到不同的子结点。
2、划分选择
即如何选择最优划分属性,使得决策树的分支结点所包含的样本尽可能属于同一类别。
(1)信息增益
信息熵(information entropy):度量样本集合纯度的指标。
假设样本集合D中第k类样本所占比例为
信息增益(information gain)
假定离散属性a有V个可能的取值
根据信息熵公式计算
根据样本数,给第i个分支结点赋予权重
计算出用属性a对样本集D划分所获得的信息增益为:
信息增益越大,使用属性a来划分所获得的纯度提升越大。
ID3决策树就是以信息增益为准则来选择划分属性。
(2)信息增益率
由于信息增益准则对可取值数目较多的属性有偏好,为了避免可能带来的不利影响,C4.5决策树采用“增益率gain ratio”来选择最优划分属性。
其中:
属性a的可能取值数V越大,
信息增益率准则偏好取值数目少的属性。
选择划分属性的方法:1)从候选划分属性中选出信息增益高于平均水平的属性。2)再从中选择增益率最高的。
(3)基尼指数
数据集D的纯度可用基尼值来度量:
Gini(D)反映了从数据集D中随机抽取两个样本,其类别标记不一致的概率。Gini(D)越小,数据集D的纯度越高。
属性a的基尼指数为:
选择使得划分后基尼指数最小的属性即可。
CART决策树采用基尼指数作为准则。注意:CART是二叉树,所以对与有多个取值的属性。
离散的:可以将取值集合划分为2^n-1种可能的两个子集
连续的:以排序后相邻值的中点作为划分点
依次计算基尼指数,选择基尼指数最小的作为最佳划分点。
CART决策树采用后剪枝。
3、剪枝处理(pruning)
剪枝是决策树学习算法应对“过拟合”的主要手段。
基本策略有:
预剪枝:在决策树生成过程中,对每个结点在划分前预先估计,如果当前结点的划分不能提升决策树的泛化性能,则停止划分并标记为叶结点。
后剪枝:先从训练集生成一棵完整的决策树,然后自底向上的对非叶结点进行考察。如果该结点对应的子树替换为叶结点能提升决策树的泛化性能,则替换为叶结点。
以西瓜数据集为例:
(1)预剪枝(prepruning)
预剪枝要对划分前后的泛化性能进行估计。
step1: 在结点①,基于信息增益准则,选择“脐部”为划分属性。测试集精度:划分前=3/7;划分后=5/7。可以划分。
step2:在结点②,基于信息增益准则,选择“色泽”为划分属性。测试集精度:划分前=5/7;划分后=4/7(编号5被分错)。不可划分。
step3:在结点③,划分属性为“根蒂”,测试集精度不变。不可划分。
step4:在结点④,所有样本已经是同一类别,不再划分。
优点:降低过拟合的风险;减少了训练和测试的时间开销。
缺点:贪心本质(有些分支的划分当前不能提升泛化性能,后序可能会有提高),有欠拟合的风险。
(2)后剪枝(post-pruning)
自底向上考察,如果用叶结点替换子树,泛化性能是否有提升。
优点:欠拟合风险小,泛化性能往往优于预剪枝。
缺点:自底向上考察所有非叶结点,时间开销大。
一般后剪枝比较常用。
4、连续与缺失值
(1)连续值处理
二分法(bi-partition)
C4.5决策树中采用此机制。
给定样本集D和连续属性a,假定a在D上出现了n个不同的取值,按增序排列
如何选取划分点t?
考察包含n-1个元素的候选划分点集合
分别计算信息增益,选取后的最大信息增益的划分点。
(2)缺失值处理
需要解决两个问题:
1)属性缺失,如何进行划分属性选择?
数据集D,在属性a上没有缺失值的样本子集
其中,
信息增益计算公式:
其中,
2)给定划分属性,若样本属性值缺失,如何对样本进行划分?
若样本属性值已知,则将
若属性值未知,则将
5、多变量决策树
非叶结点不再仅对某个属性,而是对属性的线性组合进行测试。
即,区分传统的单变量决策树,多变量决策树的学习过程中,不是为每个非叶结点寻找一个最优划分属性,而是试图建立一个合适的线性分类器。
- 第四章 决策树
- 第四章 决策树
- 第四章 决策树
- 西瓜书 第四章 决策树
- 西瓜书第四章决策树
- 机器学习(周志华) 参考答案 第四章 决策树
- 读书笔记《机器学习》: 第四章:决策树
- 机器学习(周志华) 参考答案 第四章 决策树 4.3
- 机器学习(周志华) 参考答案 第四章 决策树 4.5
- 机器学习(周志华) 参考答案 第四章 决策树 4.4
- 机器学习(周志华) 参考答案 第四章 决策树 4.10
- 周志华 《机器学习》之 第四章(决策树)概念总结
- 机器学习(周志华)_第四章 决策树
- 机器学习(周志华) 参考答案 第四章 决策树 python重写版与画树算法
- 第四章 决策树——机器学习(周志华)课后答案
- 第三章 决策树 3.1决策树构造
- 第八章 决策树算法
- 第五章 决策树
- Ubuntu/Linux Mint上安装Atom
- Spring 基于注解的配置(三)(@Resource,@PostConstruct ,@PreDestory)
- WIN32API之常用进程、线程函数
- Construct2入门
- Js获取下拉框当前选择项的文本和值
- 第四章 决策树
- JNDI到底是什么?
- 前端和后端交互的一些原规范问题
- 百度云虚拟主机中的网站不能加载静态js、css和images等文件的解决方案
- CSS定位
- 如何快速转载CSDN中的博客
- Python MySQL批量爆破工具多线程版
- Selenium 与 Spynner 切换frame(iframe)方法对比
- 配置/etc/keystone/keystone.conf文件报错