当前位置: 首页 > news >正文

决策树(续)

  1. 决策树主要算法

    • ID3 算法
      • 核心指标:信息增益,指某个属性带来的熵增,信息增益越大,使用该属性划分的 “纯度提升” 越大,故以此选择划分属性。
      • 特点:对可取值数目较多的属性有所偏好,例如在极端情况下,最优划分可能是 “编号” 这类属性。
      • 示例数据:包含天气、温度、湿度等属性及 “是否出去玩” 的标签(7 条样本)。
    • C4.5 算法
      • 核心指标:信息增益率,计算公式为信息增益 ÷ 自身熵,用于优化 ID3 对多值属性的偏好问题。
      • 示例数据:与 ID3 算法使用相同的 7 条样本数据(天气、温度等属性及 “是否出去玩” 标签)。
    • CART 算法
      • 核心指标:基尼指数 Gini (D),反映从数据集 D 中随机抽取两个样本,其类别标记不一致的概率。
      • 纯度关系:样本属于某类别的概率 p 越大,Gini (D) 越小,数据集 D 的纯度越高
  2. 连续值的处理方法

    • 采用贪婪算法,步骤如下:
      • 排序:对连续值进行排序(如示例中 Taxable Income 排序为 60、70、75、85、90、95、100、120、125、220)。
      • 确定分界点:若进行二分,可能有多个分界点(如 10 个值有 9 个分界点)。
      • 离散化:将连续值分割为不同区间(如分割成 TaxIn≤80 和 TaxIn>80,或 TaxIn≤97.5 和 TaxIn>97.5)。
  3. 决策树剪枝策略

    • 剪枝原因:决策树过拟合风险大,理论上可完全分开数据,需通过剪枝优化。
    • 预剪枝
      • 定义:边建立决策树边进行剪枝的操作,更实用。
      • 方法:限制树的深度、叶子节点个数、叶子节点包含的样本数、信息增益量等。
    • 后剪枝
      • 定义:建立完决策树后进行剪枝操作。
      • 衡量标准:最终损失 = 自身的 GINI 系数值 +α× 叶子节点数量。
        • α 越大,模型越不易过拟合,但可能影响结果准确性;
        • α 越小,更注重结果好坏,过拟合风险可能较高。
  4. 决策树代码实现

    • 核心函数:DecisionTreeClassifier()
    • 关键参数表格
    • 参数说明
      criterion可选 gini(基尼系数)或 entropy(信息熵)
      splitter可选 best(在所有特征中找最好切分点)或 random(在部分特征中找)
      max_features可选 None(使用所有特征)、log2、sqrt、N(指定数量)
      max_depthint 或 None(默认 None),设置树的最大深度,推荐 5-20 之间,深度越大越易过拟合

http://www.xdnf.cn/news/1328041.html

相关文章:

  • LeetCode100-560和为K的子数组
  • 决策树1.1
  • 项目一系列-第5章 前后端快速开发
  • 项目管理.管理理念学习
  • react-quill-new富文本编辑器工具栏上传、粘贴截图、拖拽图片将base64改上传服务器再显示
  • LeetCode算法日记 - Day 16: 连续数组、矩阵区域和
  • 第4章 React状态管理基础
  • 算法训练营day56 图论⑥ 108. 109.冗余连接系列
  • 项目过程管理的重点是什么
  • Ansible 角色管理
  • 点大餐饮独立版系统源码v1.0.3+uniapp前端+搭建教程
  • GStreamer无线图传:树莓派到计算机的WiFi图传方案
  • GEO 优化专家孟庆涛:技术破壁者重构 AI 时代搜索逻辑
  • RESTful API 开发实践:淘宝商品详情页数据采集方案
  • Apache IoTDB:大数据时代时序数据库选型的技术突围与实践指南
  • 从0到1认识Rust通道
  • Redis-缓存-击穿-分布式锁
  • 无人机场景 - 目标检测数据集 - 山林野火烟雾检测数据集下载「包含VOC、COCO、YOLO三种格式」
  • 国产!全志T113-i 双核Cortex-A7@1.2GHz 工业开发板—ARM + FPGA通信案例
  • 如何免费给视频加字幕
  • Linux的ALSA音频框架学习笔记
  • Spring AOP 和 Spring 拦截器
  • LeetCode 100 -- Day2
  • JVM垃圾收集器
  • ts 引入类型 type 可以省略吗
  • sfc_os!SfcValidateDLL函数分析之cache文件版本
  • python的社区互助养老系统
  • 【实时Linux实战系列】实时平台下的图像识别技术
  • 微软AD国产化替换倒计时——不是选择题,而是生存题
  • 初识线段树