决策树

作者: Daily_Note | 来源:发表于2018-11-27 15:32 被阅读154次

决策树

1.决策树原理

  • 树模型
    • 决策树:从根结点开始一步一步走到叶子节点(做出了决策)
    • 所有的数据最终都会落到叶子节点,即可以做分类也可以做回归
  • 举个例子:
    • 五个样本数据,就是家里的5个人,进行分类,是否愿意玩电脑游戏。
    • 首先判断年龄,年龄大于15岁的就认为不会玩,走到了叶子节点上,对于小于15岁的再判断时候是男生,男生就玩,女生不玩。


      例子
  • 树的组成:
    • 根结点:第一个选择点
    • 非叶子节点与分支:中间过程
    • 叶子节点:最终的决策结果
  • 节点
    • 增加节点相当于在数据中切一刀,越多的特征,切的越多。
    • 希望数据切得细一点,那么节点越多越好吗?
  • 决策树的训练与测试
    • 训练阶段:从给定的训练集构造出来一棵树(从根节点开始选择特征,如何进行特征切分)
    • 测试阶段:根据构造出来的树模型从上到下去走一遍就好了。
    • 一旦构造好了决策树,那么分类或者预测任务就很简单了,只需要走一遍就可以了,那么难点在于如何构造出来一棵树,这就没那么容易了,要考虑的问题还有很多。需要从根结点开始每一步选择什么样的特征进行分类。
  • 如何切分特征(选择节点)
    • 问题:根结点的选择该用哪个特征?如何进行切分?
    • 我们的目标应该是根结点就像一个老大似的能更好的切分数据(分类的效果更好),根结点下面的节点自然就是二当家了。
    • 目标:通过一种衡量标准,来计算通过不同特征进行分支选择后的分类情况,找出来最好的那个当成根结点,以此类推。随着划分过程不断进行,我们希望决策树的分支节点所包含的样本尽可能属于统一类别。

2. 衡量标准

  • 熵:
    • 定义:表示了随机变量的不确定性的度量
    • 解释:说白了就是物体内部的混乱程度。
    • 公式: 信息熵公式
      • 越大的概率,得到的熵值越少,越小的概率,熵值越大。
    • 一个例子:
      • A集合[1,1,1,1,1,1,1,1,2,2];B集合[1,2,3,4,5,6,7,8,9,1]
      • 显然A集合的熵值要低,因为A中得到类别的概率比较大。我们的目标就是通过分类,得到纯度较高的分类。
    • 熵值:不确定性越大,得到的熵值也就越大
      • 当概率值为0或1是,得到的熵值为0,随机变量完全没有不确定性
      • 当概率值为0.5时,熵值为1,此时随机变量的不确定性最大。
      • 熵值图像

如何决策一个节点的选择呢?

3. 信息增益

  • 定义:表示特征X使得类Y的不确定性减少的程度。(分类后的专一性,希望分类后的结果是同类在一起。)
  • 公式:a表示样本D中的属性,v代表属性a的不同取值,D^v表示不同取值组成的集合。


    信息增益公式
  • 信息增益越大,则意味着使用属性a来进行划分所获得的“纯度提升”最大。

4. 决策树算法

  1. ID3:信息增益(有什么问题呢?)
    • 在算信息增益是,有意的忽略了编号那一列,若编号也作为一个候选划分属性,每一个编号都是一个各自的叶子节点,算出熵值等于0,信息增益是最大的,选特征的时候就会选到“编号”这个特征,对于划分类别没有用。
  2. C4.5:信息增益率(解决ID3问题,考虑自身熵)
    • 公式: 信息增益率公式

      其中


      image.png

      属性a的可能取值数目越多,IV(a)的值通常会越大

  3. CART:使用GINI系数来当做衡量标准
  • GINI系数: GINI系数
  • Gini(D)反映了从数据D中随机抽取两个样本,其中类别标记不一致的概率,值越小,数据集D的纯度越高。

5. 连续值处理

  1. 连续属性离散化技术处理
    • 最简单的策略是“二分法”
    • 对属性a中不同的取值进行排序,基于划分点t将数据集划分为两个子集,一个子集中的数据均小于t,另一个子集中的数据均大于t。从而来达到分类的效果。

6. 决策树剪枝策略

  • 为什么要剪枝?
    • 决策树的过拟合风险很大(在训练集上表现很好,在测试集上表现很差),理论上可以完全分得开数据。(如果树足够庞大,每个叶子节点都是一个数据了)
  • 剪枝策略:预剪枝,后剪枝
  1. 预剪枝
  • 边建立决策树边进行剪枝的操作(更实用)
  • 限制深度,叶子节点个数,叶子节点样本数,信息增益量等
  1. 后剪枝
  • 当建立完决策树后来进行剪枝操作
  • 通过一定的衡量标准


    image.png

    (叶子节点越多,损失越大)

相关文章

  • 机器学习6-决策树

    一. 决策树概述 1.1 什么是决策树 决策树输入: 测试集决策树输出: 分类规则(决策树) 1.2 决策树算法概...

  • 决策树

    1、决策树 决策树学习通常包括3个步骤: 特征选择。 决策树生成。 决策树剪枝。 决策树的学习目标是:根据给定的训...

  • 决策树

    决策树 决策树模型与学习 特征选择 决策树的生成 决策树的剪枝 CART 算法 决策树模型呈树形结构,在分类问题中...

  • 决策树算法总结

    目录 一、决策树算法思想 二、决策树学习本质 三、总结 一、决策树(decision tree)算法思想: 决策树...

  • 机器学习 - 决策树算法[一]

    1 决策树模型与学习 1.1 决策树模型 决策树定义: 分类决策树模型是一种描述对实例进行分类的树形结构。决策树由...

  • 机器学习系列(三十六)——回归决策树与决策树总结

    本篇主要内容:回归决策树原理、回归树学习曲线、决策树总结 回归决策树原理 回归决策树树是用于回归的决策树模型,回归...

  • [机器学习]决策树

    决策树 @(技术博客)[机器学习, 决策树, python] 学习决策树首先要搞清楚决策树是什么(what),在弄...

  • 经典机器学习系列之【决策树详解】

      这节我们来讲说一下决策树。介绍一下决策树的基础知识、决策树的基本算法、决策树中的问题以及决策树的理解和解释。 ...

  • 第5章 决策树

    内容 一、决策树内容简介 二、决策树的模型与学习 三、特征选择 四、决策树生成 五、决策树剪枝 六、CART算法 ...

  • 决策树与随机森林

    PART I 决策树 (Decision Tree) 决策树基本知识 决策树何时停止生长:(I) all leaf...

网友评论

    本文标题:决策树

    本文链接:https://www.haomeiwen.com/subject/ymgvqqtx.html