一起啃西瓜书(四)

一起啃西瓜书(四)

  • 前言
    • 基本流程
    • 信息增益
      • CART决策树
    • 剪枝处理
      • 预剪枝
      • 后剪枝
    • 连续与缺失
      • 连续值
      • 缺失
    • 多变量决策树

前言

本章内容为西瓜书第四章决策树,前面三章内容后期会补的
注释:图片来源为网络寻找的西瓜书图示,与周志华老师的西瓜书实体书一致,侵删

基本流程

决策树是基于树结构来进行决策的,这也是人类在面临决策问题时一种很自然的处理机制。
举一个例子,如果我们要对“这是好瓜吗?”这样的问题进行决策时,我们通常会进行一系列的判断或“子决策”:先要看看“它是什么颜色?”,如果是:”青绿色”,再看“他的根蒂是什么形态?”如果是“蜷缩”在判断“它敲起来是什么的声音?”最后,我们得出最终的决策:这是个好瓜
决策过程如下图
一起啃西瓜书(四)_第1张图片
一棵决策树包含一个根节点、若干个内部结点和若干个叶结点,根节点包含了样本全集,其中叶节点对应于决策结果(根蒂蜷缩,敲声浊响),其他每个结点对应于一个属性测试(例如 根蒂=?),每个结点包含的样本集合根据属性测试的结果被划分到子节点中,根节点包含了样本全集。从根节点到每个叶节点的路径对应了一个判定测试序列。
决策树学习的目的是为了产生一颗泛化能力强,吃力未见示例能力强的决策树,基本流程如下
一起啃西瓜书(四)_第2张图片

信息增益

划分数据集的之前之后信息发生的变化称为信息增益,知道如何计算信息增益,就可以计算每个特征值划分数据集获得的信息增益,获取信息增益最高的特征就是最好的选择。
信息熵表示信息的混乱程度,熵越大数据越混乱。分类的目的是为了使同一类别的数据尽可能“纯净”,因此追求尽量小的信息熵。
信息增益表示分类前后信息熵的差值。分类前信息熵是定值,分类后信息熵越小,信息增益越大。因此我们追求尽量大的信息增益值。

ent(D)表示未分类时数据D的信息熵:
在这里插入图片描述
信息熵越小,则样本集D的纯度越大
信息增益,如果经过某节点之后,我们得到的信息越纯粹,即信息熵越高,则信息增益越大
在这里插入图片描述
但是我们要考虑一个问题,比如我们有这么一个属性——“西瓜的编号”,由于他是唯一的,也就是经过编号这一个节点以后,数据就非常纯粹了,如果我们简简单单不加以处理进行计算的话,计算结果将会是,我们只需要一个编号结点就可以将西瓜分类了,很显然这个不是我们想要的,所以引入一个新概念“增益率”
一起啃西瓜书(四)_第3张图片
其实就是Gain(D,a)除以一个参数,这个参数的值随着该属性的可能取值增加而增大(这个公式的图没找到原版的)
使用增益率进行评估就可以实现一种启发式的划分选择

CART决策树

西瓜书中只讨论了分类决策树,因此这里也只讨论分类模型
在此之前,我们先引入与一个 新的概念,基尼指数
在这里插入图片描述
在这里插入图片描述

基尼指数反映了从数据集中随机抽取两个样本,其标记类别不一样的概率,因此基尼指数越小,经过结点的数据越纯粹

剪枝处理

剪枝是为了防止过拟合

预剪枝

我们先对数据进行留出法分成两部分,在决策树生成的过程中进行剪枝,如果将中间结点(非叶子节点的父结点)作为决策树叶子结点的父结点,整体在测试集上精度提高了或者继续生长下去精度不变,则不继续生长
使用预剪枝会导致欠拟合

后剪枝

我们先对数据进行留出法分成两部分,先使用训练集生成一棵决策树,在使用测试集判断是否剪枝,后剪枝代价开销太大

连续与缺失

连续值

比如西瓜的密度,我们采用取中间值的方法,比如有17个数据,那就有16个中间值作为候选节点,把连续值离散化进行处理

缺失

缺失处理包含两个任务:选择如何划分、缺失值如何分类
问题一:
一起啃西瓜书(四)_第4张图片
没找到单独的公式图片,这里用人话概述一下,就是Gain公式,中间乘一个系数,然后系数算法如图所示
问题二:
答案是缺少的全部分配进下一个结点,只不过携带权重值r*w,如上图所示计算即可

多变量决策树

实际上我们每个结点不是那简简单单的单一属性,而是多个属性的线性组合,这样组成的决策树就是多变量决策树
一起啃西瓜书(四)_第5张图片

你可能感兴趣的:(一起啃西瓜书,决策树,机器学习,算法)