首页 > 其他 > 详细

02 | 决策树模型

时间:2020-02-23 14:08:44      阅读:70      评论:0      收藏:0      [点我收藏+]

一、决策树的模型概述

决策树基于树结构进行决策(??):

  • 内部节点:对应某个属性,应用于某个属性的测试(色泽)
  • 分支:对应测试产生的可能结果,对应于属性的某个值(红、绿)
  • 叶子节点:对应测试结果

学习过程:通过对训练样本的分析来确定划分属性(内部节点的属性)

预测过程:将待测数据从根结点开始,沿着划分属性所构成的“判定测试序列”下行,直到叶子节点

常见决策树:

  • 第一个决策树——CLS
  • 展露头脚——ID3
  • 常用的决策算法——C4.5
  • 可用于回归任务的决策算法——CART
  • 基于决策树的最强大的算法——RF

二、算法流程和最优属性选择方法

2.1 决策树的基本流程

总体流程:分而治之

  • 子根向叶的递归过程
  • 在每个中间节点中选择一个划分属性

停止条件:

  • 当前节点纯度为1,所有类别都相同,无需划分
  • 属性为空,或者所有样本在所有属性中取值相同(没有有用的属性),无法划分
  • 节点包含的样本集为空,不能划分

图片

2.2 最佳属性选择方法

2.2.1 信息熵

信息熵:度量样本纯度,假定当前样本集合D中第k类样本所占比例为\(p_k\),则D的信息熵如下式
\[ Ent(D) = -\sum_{k=1}^{\left| y \right|}p_{k}log_{2}p_{k} \]

  • \(Ent(D)\)越小,D的纯度越高
  • \(p_k=0\)时,\(Ent(D)=0\)
  • \(Ent(D)\)最小值为0,最大值为\(log_2{\left| y \right|}\)

2.2.2 信息增益

信息增益:以信息熵为基础,计算当前划分对信息熵所造成的变化(ID3使用)

设离散属性a的取值:\(\{a^1,a^2,..,a^V\}\)

\(D^v\):D中在a上取值为\(a^v\)的样本集合

以属性a对数据集D进行划分产生的信息增益\(Gai n(D,a)\)
\[ Gain(D,a)=Ent(D)-\sum_{v=1}^{V}\frac{\left|D^{v}\right|}{\left|D\right|}Ent(D^{v}) \]

  • \(Ent(D)\)划分前的信息熵

  • \(\frac{\left|D^{v}\right|}{\left|D\right|}\)划分后的信息熵

  • 第N个分支的样本越多越重要

2.2.3 信息增益率

信息增益存在问题:偏好可取值数目较多的属性,例如编号

信息增益率(C4.5)
\[ Gain\_radio(D,a) = \frac{Gain(D,a)}{IV(a)} \]

\[ IV(a)=-\sum_{v=1}^{V}\frac{\left|D^{v}\right|}{\left|D\right|}log_2{\frac{\left|D^{v}\right|}{\left|D\right|}} \]

  • 属性a可取数值数目越大(V越大),\(IV(a)\)的数值越大,降低这种偏好

  • 启发式:从候选属性找出信息增益高于平均水平的,再从中选取信息增益率最高的

2.2.4 基尼系数

\(Gini\)指数(CART):反映了从D中随机抽取两个样例,其类别标记不一致的概率
\[ Gini(D)=\sum_{k=1}^{|y|}\sum_{k^{‘}\neq k}p_kp_{k^{'}}=1-\sum^{|y|}_{k=1}p_kp_{k^{'}} \]

  • \(Gini\)指数越小,数据集越纯
  • 选取令Gini指数最小的属性

  • Gini指数、熵、分类误差率三者的关系:

\[ -\sum_{k=1}^{K}p_kln{p_k}\approx\sum_{k=1}^{K}p_k(1-p_k) \]

\(f(x)=-lnx\)\(x=1\)处泰勒展开,忽略高阶无穷小,\(f(x)\approx1-x\)

2.3 熵与信息论的视角

2.3.1 二分视角看CART

  • 每个分支就是一个二分类的过程
  • 这个过程叫做决策树桩
  • 一颗决策树由多个决策树桩拼接起来
  • 决策树桩是只有一层的决策树

2.3.2 信息论的视角理解

信息论的视角理解:对于多分叉树的情况,机器学习——破解密码

技术分享图片

2.3.3 三种不同的决策树

决策树 特点
ID3 取值多的属性会导致数据数据更纯,对应的信息增益大 训练得到一颗庞大且浅的树,不合理
C4.5 采用信息增益率代替信息增益
CART 利用基尼系数替代熵 最小化纯度,而不是最大化信息增益

三、剪枝与控制过拟合拟合

剪枝:

  • 为了降低过拟合的风险,主动去掉一些分支
  • 预剪枝和后剪枝

剪枝依据:剪枝前后决策树的优劣,(留出法)验证集判断

基本策略:

  • 预剪枝:提前中止某些分支生长
  • 后剪枝:生成一颗完全的树,再回头剪枝
预剪枝 后剪枝
训练、测试时间降低 训练时间增加,测试时间降低
过拟合风险降低,欠拟合增加 过拟合风险降低,欠拟合基本不变
后剪枝的泛化能力优于预剪枝

四、数据案例详解

02 | 决策树模型

原文:https://www.cnblogs.com/xm08030623/p/12348918.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!