决策树--分类决策树

1、介绍

① 定义

分类决策树通过树形结构来模拟决策过程,决策树由结点和有向边组成。结点有两种类型:内部结

点和叶结点。内部结点表示一个特征或属性叶子节点表示一个类

② 生成过程

用决策树分类,从根结点开始,对样本的某一特征进行测试,根据测试结果,将样本分配到其他子

结点;这时,每一个子结点对应着该特征的一个取值,如此递归地对样本进行分配,直至达到叶结

点。最后将实例分到叶结点的类中

③ 示意图

2、特征选择--信息增益或信息增益比

(1)信息增益

① 熵的定义

信息增益是由熵构建而成,熵起源于热力学,后来由香农引用到信息论中,表示的是「随机变量的

不确定性」,不确定性越大,代表着熵越大。

由于熵和随机变量的分布有关,所以我们就可以写成:

​​​​​​​​那么什么时候的熵最大呢? 结论是:随机变量的取值等概率分布时,相应的熵最大。 

② 信息增益算法

​可以看出,信息增益就是经验熵和经验条件熵的差值,他代表的是指:得知特征A而使类 Y的信息

的不确定性减少的程度。 

后者越小,说明对应的不确定性最小,意味着如果选择特征 A 为最优特征时,对于分的类是最为

确定的,对应的就希望这个信息增益是最大的。

③ 例题:对于上述表所给的训练数据集,根据信息增益准则选择最优特征。

​ 

④ 缺点:如果不同特征内的分类个数不同,那么取值个数较多的特征计算出的信息增益会更大。因此,信息增益会更倾向于取值较多的特征

(2)信息增益比

使用信息增益来作为划分训练数据集的特征,存在偏向于选择取值较多的特征的问题。使用信息增

益比可以对这一问题进行校正,这是特征选择的另一准则。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/599196.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习之矩阵形式的链式法则推导

深度学习之矩阵形式的链式法则推导 对于深度学习的基础“梯度下降”和“自动微分”的数学原理网上讲解的博客有很多了,但是目前没看到有讲关于矩阵形式的链式法则的内容,所以写了这篇笔记,供自己学习和复习。 文章目录 深度学习之矩阵形式的…

Lazada商品API接口:item_search接口中指定搜索范围

store_code: 指定商店代码。你可以使用这个参数来限制搜索结果仅返回特定商店的商品。格式为:store_code商店代码。category_id: 指定商品类别ID。通过提供特定的类别ID,你可以限制搜索结果仅返回该类别下的商品。格式为:category_id类别ID。…

【自学笔记】01Java基础-09Java关键字详解

介绍java(基于java11)中所有关键字,以及主要重要的关键字详解。 1 Java 11中的关键字: 1.1 类型声明与变量定义 boolean:声明布尔类型变量,只有两个可能值 true 或 false。byte:声明一个8位有…

复制Ubuntu遇到的问题及解决办法、Ubuntu上git命令更改和查看账户、实现Ubuntu与Windows之间的文件共享

1、复制Ubuntu遇到的问题及解决办法 (1)问题一:“该虚拟机似乎正在使用中。如果该虚拟机未在使用,请按”获取所有权(T)”按钮获取它的所有权。否则,请按”取消(C)”按钮以防损坏。” 出现该问题的原因“未正确关闭虚…

关于java栈和堆

关于java栈和堆 在上一篇文章中我们了解了数组的声明和创建,本篇文章中我们了解一下声明数组,创建数组,给数组赋值以后,栈和堆都是怎么样子分配的,了解一下底层的逻辑知识,让大家可以更好的理解数组&#…

后端中的Dao层、Service层、Impl层、utils层、Controller层

Java Dao层 dao层叫数据访问层,全称为data access object,属于一种比较底层,比较基础的操作,具体到对于某个表、某个实体的增删改查,对外提供稳定访问数据库的方法 Mapper:(DAO) 访问数据库&am…

代码随想录算法训练营第三十八天|509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯

509. 斐波那契数 题目链接:. - 力扣(LeetCode) 文档讲解:代码随想录 视频讲解:手把手带你入门动态规划 | LeetCode:509.斐波那契数_哔哩哔哩_bilibili C代码: class Solution { public:int fib(int n) {if…

新品牌在小红书上宣传推广怎么做?

对于新品牌来说,如何在小红书进行有效的宣传推广,成为了一大挑战。本文伯乐网络传媒将为你揭秘新品牌在小红书上的宣传策略,助你牢牢抓住用户流量,提升品牌知名度。 小红书作为一款以内容为核心的社交电商平台,具有极高…

论文阅读:基于MCMC的能量模型最大似然学习剖析

On the Anatomy of MCMC-Based Maximum Likelihood Learning of Energy-Based Models 相关代码:点击 本文只介绍关于MCMC训练的部分,由此可知,MCMC常常被用于训练EBM。最后一张图源于Implicit Generation and Modeling with Energy-Based Mod…

Git提交规范详解

在团队协作开发中,Git作为版本控制系统,其提交信息的清晰性和一致性至关重要。通过定义特定的提交类型和格式,我们可以更好地追踪项目历史,提高代码审查效率,并方便生成高质量的变更日志。以下是几种常见的Git提交类型…

开发知识点-Java网络编程-Netty

Netty P1 Netty-导学分布式网络返回 异步结果dubbo rabbitmqtest 测试案例多线程 日志 第1章_01_nio三大组件-channel-buffer网络编程 框架jdk 1.4 之后才有 nio这个 APIChannel 数据传输通道 (双向)Buffer 内存缓冲区 (暂存Channel 的 数据&…

【React系列】Redux(三) state如何管理

本文来自#React系列教程:https://mp.weixin.qq.com/mp/appmsgalbum?__bizMzg5MDAzNzkwNA&actiongetalbum&album_id1566025152667107329) 一. reducer拆分 1.1. reducer代码拆分 我们来看一下目前我们的reducer: function reducer(state ini…

jdk动态代理与cglib代理区别1

动态代理有jdk动态代理及cglib代理&#xff0c;下面描述jdk动态代理 jdk动态代理 看了 上云 老师的视频&#xff0c;整理下 pom文件 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starte…

JS函数实现数字转中文大写

JS函数实现数字转中文大写 1. 数字转字符,分割,去除空字符2. 遍历分割字符,替换为中文3. 增加四位数单位4. 处理零5. 拼接四位数据和单位 项目中,JS将万亿以下正整数转为中文大写 1. 数字转字符,分割,去除空字符 function toChineseNumber(num){const strs num.toString().re…

2023海内外零知识证明学习资料汇总(一)(故事中的零知识证明篇)

工欲善其事,必先利其器 Web3开发中&#xff0c;各种工具、教程、社区、语言框架.。。。 种类繁多&#xff0c;是否有一个包罗万象的工具专注与Web3开发和相关资讯能毕其功于一役&#xff1f; 参见另一篇博文&#x1f449; 2024最全面且有知识深度的web3开发工具、web3学习项目…

12 位多通道,支持 MPU 存储保护功能,应用于工业控制,智能家居等产品中的国产芯片ACM32F403/F433

ACM32F403/F433 芯片的内核基于 ARMv8-M 架构&#xff0c;支持 Cortex-M33 和 Cortex-M4F 指令集。芯片内核 支持一整套DSP指令用于数字信号处理&#xff0c;支持单精度FPU处理浮点数据&#xff0c;同时还支持Memory Protection Unit &#xff08;MPU&#xff09;用于提升应用的…

街道洗扫车VR虚拟仿真展示创新了培训方式

吸污车用于收集处理城市中的污水、污泥&#xff0c;起到疏通管道的作用&#xff0c;特别是洪涝灾害时是重要的清理工具。吸污车由于内部结构复杂、工艺原理繁琐且造价成本高&#xff0c;因此传统的吸污车作业培训难以达到满意效果。VR虚拟仿真技术的出现&#xff0c;给企业提供…

【MODBUS】J2Mod库核心代码示例

J2Mod库的Modbus核心代码主要用于实现Modbus协议的通信功能。以下是Modbus核心代码的讲解和示例&#xff1a; 1. 创建Modbus连接 首先&#xff0c;您需要创建一个Modbus连接对象&#xff0c;指定要连接的Modbus设备的IP地址和端口号。 import com.ghgande.j2mod.modbus.Modb…

ln -s 的时候,如果连接已存在,如何覆盖他

使用 ln -s 命令时&#xff0c;如果连接已存在&#xff0c;通常不会覆盖目标文件或目录。 这是因为 ln -s 命令用于创建符号链接&#xff0c;而符号链接只包含目标文件或目录的路径&#xff0c;不会直接覆盖目标文件或目录。 如果你想覆盖已存在的符号链接&#xff0c;可以使…

免费邮件系统hMailServer本地部署并实现远程发送邮件

文章目录 前言1. 安装hMailServer2. 设置hMailServer3. 客户端安装添加账号4. 测试发送邮件5. 安装cpolar6. 创建公网地址7. 测试远程发送邮件8. 固定连接公网地址9. 测试固定远程地址发送邮件 前言 hMailServer 是一个邮件服务器,通过它我们可以搭建自己的邮件服务,通过cpola…