【西瓜书】剪枝与样本值处理——预剪枝、后剪枝、连续值、缺失值

目录

预剪枝

后剪枝

处理连续值

处理缺失值


剪枝(pruning)是决策树学习算法对付"过拟合"的主要手段。

  • 在决策树学习过程中,有时会造成决策树分枝过多,就可能造成过拟合,可通过主动去掉一些分支来降低过离合的风险。
  • 决策树剪枝的基本策略有"预剪枝"(prepruning)和"后剪枝"(postpruning)。

预剪枝

  • 预剪枝是指在决策树的生成过程中,对每个节点在划分前先进行估计,若当前节点的划分不能带来决策数泛化性能提升,则停止划分,并将当前节点标记为叶节点。
  • 后剪枝是先从训练集生成一颗完整的决策树,然后自底向上的对非叶节点进行考察,若将该节点对应的子树替换为叶节点,能带来决策树泛化性能提升,则将该子树替换为叶节点。
  • 那么如何判断决策树的泛化性能提升呢?可以使用验证集进行验证。
  • 一颗仅有一层划分的决策树,称为"决策树桩"(decision stumb)。
  • 预剪枝使得决策树的很多分支都不进行展开,这既降低了过拟合的风险,又显著减少了决策树的训练时间开销和测试时间开销。
  • 另一方面,有些分支的当前划分虽不能提升泛化性能,甚至可能导致泛化性能暂时下降,但是在其基础进行的后续划分却有可能导致性能显著提高。这给预剪枝决策树带来了欠拟合的风险。
  • 预剪枝的本质是一种"贪心"算法。

后剪枝

  • 后剪枝决策树通常比预减值决策树保留了更多的分支,一般情况下后剪纸决策树的欠拟合风险很小,泛化性能往往优于预剪纸的决策树。
  • 后剪枝的训练时间开销比未剪枝决策树和预剪枝决策树都要大很多。

处理连续值

  • 在处理分类时都是基于离散属性来生成决策树,使用离散值进行分类也比较符合人们的思维习惯。
  • 如果输入样本的属性是连续值,就需要用到连续属性离散化的技术。
  • 二分法(bi-partition)对连续属性进行处理的最简单的策略。这也是 C4.5决策树 算法中采用的机制。
  • 与离散属性不同,若当前节点划分属性为连续属性,该属性还可作为其后代节点的划分属性(离散属性在决策树上只出现一次)。

处理缺失值

  • 现实任务中常会遇到不完整样本,即样本的某些属性值缺失。

  • 如果在属性值缺失的时候丢弃该样本,则会造成样本变得很小,因此有必要考虑利用缺失属性值的训练样例来进行学习。

  • 缺失值的处理需要解决两个问题:

    • 问题1:如何在属性值缺失的情况下进行划分属性选择。
    • 问题2:给定划分属性,若样本在该属性上的值缺失,如何对样本进行划分。
  • 对于问题1:按照属性来,

    • 令D~表示D中在属性a上没有缺失值的样本,
    • 定义ρ为无缺失值的样本比例,
    • 定义pk~为无缺失值样本中第k类所占的比例,
    • 定义rv~为无缺失值样本中在属性a上取值为a^v的样本所占的比例;
    • 则信息增益为:
    • 其中
  • 对于问题2:按照概率来,

    • 若样本x在划分属性a上的取值已知,则将x划入与其取值对应的子节点,且样本全值在子节点中保持为

    • 若样本x在划分属性a上的取值未知,则将x同时划入所有的子节点,且样本权值与属性值对应的子节点中调整为。也就是说,让同一个样本以不同的概率划入到不同的子节点中去。

  • C4.5算法中使用了上述解决方案。

【西瓜书】决策树-CSDN博客

相关推荐
qinyia34 分钟前
Wisdom SSH 是一款创新性工具,通过集成 AI 助手,为服务器性能优化带来极大便利。
服务器·人工智能·ssh
昨日之日20063 小时前
Wan2.2-S2V - 音频驱动图像生成电影级质量的数字人视频 ComfyUI工作流 支持50系显卡 一键整合包下载
人工智能·音视频
SEO_juper6 小时前
大型语言模型SEO(LLM SEO)完全手册:驾驭搜索新范式
人工智能·语言模型·自然语言处理·chatgpt·llm·seo·数字营销
攻城狮7号6 小时前
腾讯混元翻译模型Hunyuan-MT-7B开源,先前拿了30个冠军
人工智能·hunyuan-mt-7b·腾讯混元翻译模型·30个冠军
zezexihaha6 小时前
从“帮写文案”到“管生活”:个人AI工具的边界在哪?
人工智能
算家云6 小时前
nano banana官方最强Prompt模板来了!六大场景模板详解
人工智能·谷歌·ai大模型·算家云·ai生图·租算力,到算家云·nano banana 提示词
暴躁的大熊6 小时前
AI助力决策:告别生活与工作中的纠结,明析抉择引领明智选择
人工智能
Gyoku Mint7 小时前
提示词工程(Prompt Engineering)的崛起——为什么“会写Prompt”成了新技能?
人工智能·pytorch·深度学习·神经网络·语言模型·自然语言处理·nlp
梁小憨憨7 小时前
zotero扩容
人工智能·笔记
大数据张老师7 小时前
AI架构师的思维方式与架构设计原则
人工智能·架构师·ai架构·后端架构