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

第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 阅读材料

相关文章:

第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 基本流程 决策树也称判定树,是一类常见的机器学习方法。…...

在Remix中编写你的第一份智能合约

智能合约简单来讲就是:部署在去中心化区块链上的一个合约或者一组指令,当这个合约或者这组指令被部署以后,它就不能被改变了,并会自动执行,每个人都可以看到合约里面的条款。更深层次的理解就是:这些代码会…...

如何查看dll文件内导出函数名称

一 使用VS自带工具 进入VS开发环境,然后Tools -> Visual studio 2017 Command Prompt,打开兼容工具命令提示符, 如果工具 目录下没有命令行提示,可以从开始菜单找到VS的命令行提示符。 cd到dll所在目录,输入命令…...

学习笔记|串口通信的基础知识|同步/异步|RS232|常见的串口软件的参数|STC32G单片机视频开发教程(冲哥)|第二十集:串口通信基础

目录 1.串口通信的基础知识串口通信(Serial Communication)同步/异步?全双工?常见的串口软件的参数 2.STC32的串口通信实现原理引脚选择:实现分时复用模式选择串口1模式1,模式1波特率计算公式 3.串口通信代码实现编写串口1通信程序…...

JAVA String 和 String[][]互转的两种方法

第一种方法&#xff1a; <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.40</version> </dependency>字符串转数组&#xff1a; String s "[[22,23,23],[1,10,20]]"…...

推荐几个制作svg的工具

以下是一些用于制作SVG&#xff08;可缩放矢量图形&#xff09;的工具和软件&#xff0c;适用于不同技能级别和需求&#xff1a; Adobe Illustrator&#xff1a;作为业界标准之一&#xff0c;Adobe Illustrator是功能强大的矢量图形编辑软件&#xff0c;适用于专业设计师和创意…...

Java实现防重复提交,使用自定义注解的方式

目录 1.背景 2.思路 3.实现 创建自定义注解 编写拦截器 4.使用 5.验证...

Springboot实现Web组件注册

一、前言 在实际开发中&#xff0c;有时候我们可能使用springboot注册web组件&#xff0c;实现某些功能&#xff0c;比如我们需要生成一些api来提供对外的服务&#xff0c;而对应的路径其实是不固定的&#xff0c;那么这种情况下&#xff0c;其实是可以通过这种方式来注册web组…...

Element组件案例 Vue路由 前端打包部署步骤

目录 Element组件案例案例需求与分析环境搭建整体布局顶部标题左侧导航栏核心-右侧导航栏表格编写表单编写分页工具栏编写 异步数据加载异步加载数据性别展示修复图片展示修复 Vue路由Vue路由简介Vue路由入门 打包部署前端工程打包部署前端工程nginx介绍部署 Element组件案例 …...

mysql5.7停止维护时间

mysql5.7将于2023年10月停止官网支持和更新&#xff1b;老项目要准备升级&#xff0c;新项目的mysql必须是mysql8.0&#xff08;2023-10&#xff09; 官方升级咨询地址 oracle官方升级咨询地址https://go.oracle.com/LP116153?elq_mid247718&sh1518132002061316121320310…...

解密.kat6.l6st6r勒索病毒:保护数据的关键方法

导言&#xff1a; 网络威胁如雨后春笋&#xff0c;而 .kat6.l6st6r 勒索病毒则是其中一个异常狡猾的恶棍。本文91数据恢复将深入探讨 .kat6.l6st6r 勒索病毒的特点、数据恢复方法以及如何有效地预防这一数字威胁。 数据的重要性不容小觑&#xff0c;您可添加我们的技术服务号&a…...

Godot 添加信号

前言 Godot 里面C#和GDScirpt 的用法完全不一样&#xff0c;网上相关资料太少了。 什么是信号 信号分为信号源&#xff0c;触发&#xff0c;目的节点。信号源在某些条件下触发信号&#xff0c;比如按钮点击&#xff0c;鼠标悬停等事件 #mermaid-svg-wyr9ARVcBFmUUu8y {font-…...

JS如何判断文字是否溢出(被ellipsis)?

如果想要文本超出宽度后用省略号省略&#xff0c;只需要加上以下的css就行了。 .ellipsis {overflow: hidden;text-overflow: ellipsis;white-space: nowrap; }3行css搞定&#xff0c;但是问题来了&#xff1a;如果我们想要当文本被省略的时候&#xff0c;也就是当文本超出指定…...

pb:常用函数和语句清单

pb:常用函数和语句清单 PB中提供了600多个函数,这还没有将B/S开发、数据窗口对象中的函数计算在内。但是,只要掌握、熟练运用、真正理解下面的这些函数(包括部分语句)就可以开发软件项目了。这些函数和语句是我给学员讲课时开发的一个完整的管理系统(提供了MIS必须的完整模…...

(8)SpringMVC中的视图类型及其特点,以及视图控制器view-controller的配置

SpringMVC的视图 转发和重定向的区别及其原理,参考文章 视图类型及特点 视图的作用就是将Model中的数据渲染到页面上并展示给用户,SpringMVC中视图对应的View接口有三种实现类对应三种视图解析器 默认有转发视图InternalResourceView和重定向视图RedirectView以及Thymeleaf…...

ansible学习笔记分享

yum install ansible -y #安装&#xff0c;注意yum源问题 yum源&#xff1a; yum install epel-release -y mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.bak >> /dev/null yum clean all rpm -Uvh http://mirrors.ustc.edu.cn/epel/epel-releas…...

以dzzoffice为例设置通过 SOCKET 连接 SMTP 服务器发送(支持 ESMTP 验证)

在测试dzzoffice的过程中&#xff0c;需要配置邮件服务器&#xff0c;dzzoffice的邮件设置有三种选项&#xff1a; 1、通过 PHP 函数的 sendmail 发送(推荐此方式) 2、通过 SOCKET 连接 SMTP 服务器发送(支持 ESMTP 验证) 3、通过 PHP 函数 SMTP 发送 Email(仅 Windows 主机下有…...

加拿大艾伯塔省执法部门利用OpenText Encase显着提高案件效率

艾伯塔省执法部门利用OpenText Encase显着提高案件效率 Internet Child Exploitation Unit (ICE) 使用OpenText EnCase Forensic 加快结案进度并起诉更多罪犯 挑战 从证据收集到报告和起诉的过程非常耗时; 需要工具帮助快速可靠地收集、分析和存储数字证据。 结果 显著提高案…...

【Codeforces】Educational Codeforces Round 156 [Rated for Div. 2]

hh第一次记录cf。 复盘 ab题目比较清晰&#xff0c;只开了这两题&#xff0c;后面看了下cd&#xff0c;即使开了翻译也看不懂题目是什么意思&#xff0c;最后放弃睡觉了。。 a是一道思维题&#xff0c;翻了下别人写的发现大家写的各不相同hh b是一道数学题&#xff0c;过程有点…...

结合swagger的前端架构小记

1.引言 开发中&#xff0c;我们是否经常遇到以下痛点&#xff1a; 项目越大&#xff0c;启动和热更新越来越慢&#xff0c;启动都要花个3-5分钟以上没有类型&#xff0c;接口返回的Object不拿到真实数据都不知道有哪些字段需要手动写很多request函数去调用api&#xff0c;手动…...

打造掌机媒体中心:wiliwili跨设备播放全攻略

打造掌机媒体中心&#xff1a;wiliwili跨设备播放全攻略 【免费下载链接】wiliwili 专为手柄控制设计的第三方跨平台B站客户端&#xff0c;目前可以运行在PC全平台、PSVita、PS4 和 Nintendo Switch上 项目地址: https://gitcode.com/GitHub_Trending/wi/wiliwili 在移动…...

别再死记硬背了!用DCM模式反激电路,手把手教你搞定宽电压输入的隔离电源

从零构建宽电压隔离电源&#xff1a;DCM反激电路实战指南 当你在深夜调试电路时突然闻到焦糊味&#xff0c;或是面对一堆烧毁的MOS管束手无策&#xff0c;是否想过——电源设计本可以更简单&#xff1f;本文将带你用工程师的思维重新理解反激变换器&#xff0c;避开教科书式的理…...

通义千问1.8B-Chat部署教程:Supervisor管理服务,稳定运行不中断

通义千问1.8B-Chat部署教程&#xff1a;Supervisor管理服务&#xff0c;稳定运行不中断 1. 项目概述 通义千问1.5-1.8B-Chat-GPTQ-Int4是阿里云推出的轻量级对话模型&#xff0c;经过GPTQ-Int4量化后&#xff0c;显存需求仅约4GB&#xff0c;非常适合在消费级GPU或边缘设备上…...

DeerFlow效果展示:自动生成的深度研究报告与播客内容惊艳分享

DeerFlow效果展示&#xff1a;自动生成的深度研究报告与播客内容惊艳分享 1. DeerFlow核心能力概览 DeerFlow作为一款深度研究智能助手&#xff0c;整合了语言模型、网络搜索和代码执行能力&#xff0c;能够自动完成从信息收集到内容生成的全流程工作。其核心功能亮点包括&am…...

背包模型(求组合)?爬楼梯模型(求排列)?

普通背包模型和爬楼梯模型是非常相似的两个模型。 首先&#xff0c;我们定义一个**“抽象背包模型”**&#xff08;注意这个抽象背包模型不是前面提到的普通背包模型&#xff09;&#xff1a;给定 n 个物品&#xff0c;装满容积为 m 的背包&#xff0c;求方案数/具体方案/等等…...

从单片机思维到FPGA思维:我用Xilinx Ego1做循迹小车踩过的那些‘坑’

从单片机思维到FPGA思维&#xff1a;Xilinx Ego1循迹小车开发实战避坑指南 第一次用FPGA做循迹小车时&#xff0c;我盯着Vivado里密密麻麻的时序报告发呆了半小时——这和我熟悉的单片机开发完全是两个世界。作为有三年STM32开发经验的工程师&#xff0c;本以为凭借Verilog语法…...

阿里千问Qwen3.5-Omni:全模态大模型的新王者

Qwen3.5-Omni&#xff1a;全模态能力的新巅峰3月30日&#xff0c;阿里发布的千问新一代全模态大模型Qwen3.5-Omni&#xff0c;在音视频理解、识别、交互等215项任务中取得SOTA&#xff08;性能最佳&#xff09;&#xff0c;超越Gemini-3.1 Pro&#xff0c;成为全球最强的全模态…...

请解释 Linux 操作系统中的进程与线程的区别,并举例说明它们各自的应用场景。

在 Linux 操作系统中&#xff0c;**进程&#xff08;Process&#xff09;和线程&#xff08;Thread&#xff09;**是程序执行的基本单位&#xff0c;但它们在资源管理、隔离性、通信方式和性能开销上有显著区别。一、核心概念对比特性进程 (Process)线程 (Thread)定义操作系统进…...

3D Face HRN开源镜像:ModelScope官方cv_resnet50_face-reconstruction部署

3D Face HRN开源镜像&#xff1a;ModelScope官方cv_resnet50_face-reconstruction部署 1. 引言&#xff1a;从2D照片到3D人脸的魔法转换 你是否曾经想过&#xff0c;仅仅通过一张普通的2D人脸照片&#xff0c;就能生成精确的3D人脸模型&#xff1f;这在过去可能需要专业设备和…...

如何免费使用Pyfa:EVE Online舰船配置终极实用指南

如何免费使用Pyfa&#xff1a;EVE Online舰船配置终极实用指南 【免费下载链接】Pyfa Python fitting assistant, cross-platform fitting tool for EVE Online 项目地址: https://gitcode.com/gh_mirrors/py/Pyfa Pyfa&#xff08;Python Fitting Assistant&#xff09…...