决策树算法_机器学习04——决策树算法

  • 一、简介
    • (一)概念
      • 决策树是一种十分常用的分类回归方法。决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出, 每个叶节点代表一种类别。
    • (二)分类:
      • 决策树分为分类决策树和回归决策树
        • 分类回归树根据特征是否满足条件进行分类,根据需要选择的类别进行决策。
        • 回归决策树根据特征满足情况进行打分,根据得分进行决策。
    • (三)决策树的预测 :
      • 从根结点开始,对实例的某一特征进行测试,根据测试结果将实例分配到其子结点,如此递归地对实例进 行判断并分配,直至达到叶结点。
      • 叶结点对应什么?
        • 分类:输出得票最多的类
        • 回归:输出样本标签的均值
        • 决策树模仿的是 人类在做决策的过程。在医药、商业的应用里,如何让电脑模仿人类做决策是一个很早的人工智能问题
    • (四)决策树流行的算法:
      • ID3算法
      • CART算法
      • C4.5算法
    • (五)节点用途
      • 根节点:用于存储全部数据集
      • 叶节点:用于输出处理结果
  • 二、创建策略:
    • (一)构建方式
      • 1. 通过数据集运算出一个解的“方案池”
      • 2. 通过最大化贪心指标在方案池中找到最优解
      • 3. 使用最优解来构建决策树
      • 如何评价决策树是好是坏?看叶节点结果的纯度,纯度越高,模型越好。
      • 贪心概念
        • 是用最快、最好的方式对树进行计算,避免多余的计算量。
    • (二)贪心指标设计
      • 1. 设计贪心指标的方法:让叶结点尽早变得更纯
        • 比如相亲先对比了候选人的收入、职业、家庭,都觉得满意,之后一看年龄不满足条件,立马pass掉。不如先看年龄,省得对比其他的条件。
      • 2. 衡量不纯度的指标:树节点中跟样本标签不一致的程度。比如:11100,纯度为0.6,不纯度为0.4.
      • 3. 衡量变纯程度的指标:信息增益
      • 4. 建树过程:遍历全体划分点候选集,选择信息增益最大的划分点构建决策树, 递归执行
    • (三)度量指标
      • 1. 三大度量指标
        • 基尼指数、香农熵、最大方差公式:

fceab3ec8d3deb182f0069f87a223a7e.png
          • 解析:

87adc702c4b62562ca4bbb3c13c97595.png
      • 2. 度量指标在决策树三大算法的应用:
        • ID3算法
        • C4.5算法
        • CART算法
          • Classification And Regression Trees的简写
      • 信息增益IG
        • 信息增益=父结点的香农熵(不纯度指标)— 子节点的香农熵(不纯度指标)

f50ca15c57de85eb8c664d2558c72266.png
        • 信息增益值越大越好
  • 三、候选集划分
    • 划分类型:分为连续型和离散型特征的划分
    • 连续特征:
      • 假设连续特征F1有10种取值:1、2、3、4、5、6、7、8、9、10
      • 把每一个值都作为判断条件列举出来,选择最优(即信息增益值最大)的划分条件。

d6dbc22d1ad58570a0c3df207cc36faf.png
    • 离散特征:离散特征的划分可以用二叉树和多叉树两种。
      • 假设离散特征F2有 4 种取值:A、B、C、D
        • 二叉树:类似于连续特征的划分方式,也是取最优条件。

43910dedffdf93dfdc2fe6c9e77680a8.png
        • 多叉树:有几种类别就使用几个子节点

38b627b65a2b7570196bb96e4f4a2f37.png
  • 四、构建流程
    • 1. 计算根节点的香农熵
      • 香农熵= — 求和 (子节点样本数/父节点样本数)*log (子节点样本数/父节点样本数)

45ef9e9466870fc8737cf8aaa0bf4995.png
    • 2. 选择一个属性,计算出该属性每种类别的香农熵
      • 以色泽为例,它有3青绿、乌黑、浅白等3种类别,计算每一种类别的香农熵

280a4bc864045845e7171acca0f79ca6.png

82ab38c7833d5a9fd4d9e7c33526065b.png
    • 3. 求出该属性的信息增益值。
      • 运用根节点香农熵IG - 子节点的香农熵 Ent

5059e97e20549ec0b80952754f9753db.png
    • 4. 运用相同方法求出其他属性的信息增益:

1247c18271cb189c54b406434808ae45.png
    • 5. 经过排序对比,得出最大信息增益的属性是——纹理
      • 纹理 >脐部> 根蒂 >敲声 >色泽> 触感;
      • 以排序结果构建决策树
  • 五、剪枝处理
    • 剪枝的原因:为了避免模型过拟合
      • 宽泛来讲:机器学习模型都会有过拟合风险,在训练集上表现的 过于优秀,而泛化能力差,因此机器学习模型都有对应的防止过拟合的策略,决策树的策略就是剪枝
      • 具体来讲:决策树生成算法会递归地建造决策树的分支,直到结点都很纯为止。这样产生的决策树往往对训练数据的分类很准确, 但失去泛化能力,即发生过拟合了,因此,可通过主动去掉一些分支来降低过拟合的风险,提高模型泛化能力。
    • 如何判断模型决策树是否过拟合?
      • 看训练误差和测试误差的关系,测试误差越小,说明模型泛化能力越强。
    • 分为预剪枝和后剪枝
      • 预剪枝:
        • 优点是速度快、性能开销较小;但缺点在于可能欠拟合。
        • 项目实操常用预剪枝(看重优点),有其他方法可以解决欠拟合风险。
        • 预剪枝的方法: Spark & sklearn
          • ①让最大深度小一些。树的深度等于超参数maxDepth
          • ②设置最小分支节点的数量。没有分裂点能带来大于minInfoGain的信息增益
          • ③设置叶节点的最小样本数。没有分裂点能让划分后的结点上至少有minInstances个实例 •
          • 效果:类似于?
      • 后剪枝:
        • 优点是不容易产生欠拟合,缺点速度慢,性能开销大。
  • 六、决策树模型的优缺点:
    • 优点:
      • 易于解释 (画图解释)
      • 处理类别特征,其他的技术往往要求数据属性的单一
      • 延展到多分类 (能做回归、二分类、多分类)
      • 不需要特征缩放和多项式回归 (不会用到权重或距离度量)
      • 能捕获非线性关系和特征间的交互关系
      • 不需要独热编码处理
    • 缺点:
      • 寻找最优的决策树是一个NP-hard的问题,只能通过启发式方法求次优解
      • 决策树会因为样本发生一点点的改动,就会导致树结构的剧烈改变
      • 如果某些离散特征的特征值种类多,生成决策树容易偏向于这些特征 ID3
      • 有些比较复杂的关系,决策树很难学习,比如异或
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值