码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 第4章 决策树


    文章目录

    • 4.1 基本流程
    • 4.2 划分选择
      • 4.2.1 信息增益
      • 4.2.2 增益率
      • 4.2.3 基尼指数
    • 4.3 剪枝处理
      • 4.3.1 预剪枝
      • 4.3.2 后剪枝
    • 4.4 连续与缺失值
      • 4.4.1 连续值处理
      • 4.4.2 缺失值处理
    • 4.5 多变量决策树
    • 4.6 阅读材料

    4.1 基本流程

    • 决策树也称判定树,是一类常见的机器学习方法。
    • 决策树是基于树结构来进行决策的,这恰是人类在面临决策问题时一种很自然的处理机制。
    • 决策的最终结论对应了我们所希望的判定结果,决策过程中提出的每个判定问题都是对某个属性的测试,每个测试结果考虑范围是在上次决策结果限定范围内。
    • 叶结点对应于决策结果,其他每个结点对应于一个属性测试。
    • 决策树学习的目的是为了产生一棵泛化能力强,即处理未见示例能力强的决策树,其基本流程遵循分而治之的策略。
    • 在这里插入图片描述

    4.2 划分选择

    4.2.1 信息增益

    “信息熵”是度量样本集合纯度常用的一种指标。
    在这里插入图片描述

    信息增益
    在这里插入图片描述
    一般而言,信息增益越大,则意味着使用属性a来进行划分所获得的“纯度提升”越大。因此,可用信息增益来进行决策树的划分属性选择。
    在这里插入图片描述

    4.2.2 增益率

    • 信息增益准则对可取值数目较多的属性有所偏好,为减少这种偏好带来的不利影响,著名的C4.5决策树算法不直接使用信息增益,而是使用增益率来选择最优划分属性。
    • 增益率定义为:在这里插入图片描述

    增益率准则对可取数目较少的属性有所偏好,因此C4.5算法并不是直接选择增益率最大的候选划分属性,而是使用了一个启发式:先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的。

    4.2.3 基尼指数

    CART决策树使用“基尼指数”来选择划分属性。数据集D的纯度可用基尼值来度量:
    在这里插入图片描述
    Gini(D)越小,数据集的纯度越高。
    属性a的基尼指数定义为:
    在这里插入图片描述
    在候选属性集合A中,选择那个使得划分后基尼指数最小的属性作为最优划分属性,即:
    在这里插入图片描述

    4.3 剪枝处理

    剪枝是决策树学习算法对付过拟合的手段。

    留出法:预留一部分数据用作验证集以进行性能评估。

    4.3.1 预剪枝

    预剪枝是指在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶结点。

    4.3.2 后剪枝

    后剪枝则是先从训练集生成一棵完整的决策树,然后自底向上地对非叶结点进行考察,若该结点对应得子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点。

    4.4 连续与缺失值

    4.4.1 连续值处理

    由于连续属性的可取数目不再有限,因此不能直接根据连续属性可取值来对结点进行划分。此时,连续属性离散化技术可派上用场。最简单的策略是采用二分法对连续属性进行处理,这正是C4.5决策树算法中采用的机制。

    4.4.2 缺失值处理

    离散值:众数填充、相关性最高填充。

    连续值:中位数填充、相关性最高的列做线性回归进行估计。

    4.5 多变量决策树

    4.6 阅读材料

  • 相关阅读:
    刷题笔记(十九)--二叉树:二叉搜索树的修改与构造
    基于Tree-LSTM网络语义表示模型
    强大的虚拟机软件 VMware Fusion Pro 13中文最新 for mac
    第8章_聚合函数
    代码案例详解!如何让机器学习模型自解释!⛵
    golang实现中文分词,scws,jieba
    商用车市场「跌跌不休」,主动安全「让位」智能驾驶?
    基于C#制作一个桌面宠物
    Kafka监控工具,LinkedIn详解
    《开发实战》16 | 缓存设计:缓存可以锦上添花也可以落井下石
  • 原文地址:https://blog.csdn.net/qq_45823731/article/details/133676701
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号