【机器学习300问】28、什么是决策树?

〇、两个预测任务

(1)任务一:银行预测偿还能力

        当前,某银行正致力于发掘潜在的放贷用户。他们掌握了每位用户的三个关键特征:房产状况、婚姻状况以及年收入。此外,银行还拥有过往这些用户的债务偿还能力的数据。面对这一情境,银行现需制定一套有效的策略,用以评估新用户的偿债能力,从而做出是否向其提供贷款的决策。

(2)任务二:相亲优质男性

        一位母亲想要为她的女儿介绍合适的男朋友,女孩对此提出了四个明确的要求:年龄、相貌、收入、公务员。她明确表示,只有满足条件的男性,她才愿意与之相亲。面对如此具体的条件,母亲该如何在浩渺的婚恋市场中挑选出一位优质男性,让女儿愿意与之相见呢?

一、什么是决策树

        相信你看到上面两个例子的时候,心中已经有了一个判断。你是怎么做的判断呢?我先来说说我是怎么做出决策的。将我所做的决策画成树,这就被称为决策树。

(1)直观理解

        对与任务一来说,如果我是银行,我肯定选择对有房子、结了婚、年收入高的人进行放贷。这里思考几个问题,有房子难道就一定能还贷嘛?万一他的房子很偏僻很小不值几个钱呢?不结婚的人也许存款更多,还款能力还强些呢?到底怎么定义高收入呢?

图1

        对于任务二来说,如果我是这个女孩儿,我也许会选择年轻点的、长得还行就好、收入中等就行、最好是公务员。同样思考一下,从我的决策中就能够看出有许多的模糊字眼。

图2

 (2)定义

        决策树是一种有监督学习算法,通过特征选择和递归分割数据集构建树状模型,用于分类或回归分析。其中每个内部节点代表一个特征测试,分支表示不同的测试结果,而叶节点则对应最终的类别或数值预测。分支节点又叫决策节点,叶子节点又叫预测结果节点。

  • 每个内部节点代表一个特征或属性测试。
  • 每个分支表示该特征可能的输出或取值。
  • 每个叶节点(终端节点)则代表一个决策结果或者分类标签,在分类任务中对应某个类别的预测;而在回归任务中,叶节点会对应一个连续数值的预测。

二、不就是if-else语句吗怎么被称为机器学习模型

        如果你也有这种疑问,不妨回顾一下先前我们做的两个小预测任务,上面提出了的思考问题可以总结为两个:我们为什么会这样的特征来辅助决策?以及我们要用怎样的阈值做为判断依据?

        决策树确实可以被视为一系列嵌套的if-else语句,但其作为机器学习模型的意义在于,这些if-else规则不是由人类程序员手动编写,而是通过从训练数据中自动学习得出。在构建决策树的过程中,特征的选择和阈值的确立都是根据优化准则自动生成的。

(1)该选哪些特征?

        在构建决策树时,算法会遍历所有可能的特征,并计算每个特征用于划分数据集时带来的信息增益、基尼不纯度或者其他类似的评价指标(取决于所使用的具体算法)。信息增益是衡量一个特征对分类纯度提升程度的一种量度,而基尼不纯度则用来表示样本集合不确定性或随机性的大小。在每一轮迭代中,算法会选择当前能够带来最大信息增益或最小基尼不纯度的特征作为节点来划分数据集。这样做的目的是逐步形成一个能最好地描述输入数据与输出类别之间关系的树状结构。

(2)该选哪个阈值?

        对于数值型特征来说,在确定了使用该特征进行分割之后,算法需要找到一个最优的阈值来划分数据。这个阈值通常是在当前特征的所有可能取值中搜索出来的,使得基于此阈值划分数据后,子集的信息增益或基尼不纯度达到最优。例如,在CART(Classification and Regression Trees)算法中,对于连续特征,会在特征的所有不同取值上尝试,以找到最佳分割点。

三、决策树的优缺点

(1)优点

  1. 易于理解和解释决策树的结构直观且易于理解,可以生成易于解释的规则,对于非专业人士来说也很友好,可以可视化展示整个决策过程。

  2. 可处理多种类型的数据:无论是离散型、连续型还是混合型数据,决策树都可以直接处理,无需进行复杂的预处理。

  3. 能够处理缺失值:在一定程度上,决策树算法可以自动处理特征值缺失的情况,通过特定策略(如基于均值、中位数或众数填充)来决定缺失值所在分支。

  4. 特征选择能力:决策树能够对输入变量的重要性进行排序,帮助识别哪些特征对预测结果影响最大。

  5. 并行性:决策树训练过程中,不同节点的划分可以相对独立地计算,理论上支持并行化构建。

(2)缺点

  1. 过拟合问题:决策树容易生成过于复杂的树结构,导致过拟合训练数据,不适用于未见过的新数据,即泛化能力可能较差

  2. 不擅长处理连续数值特征:虽然决策树可以处理连续特征,但在处理连续变量时可能不如其他模型(如线性回归)那样准确有效。

  3. 偏向于选择类别较多的特征:决策树倾向于选择拥有更多类别的特征进行分割,这可能导致忽略那些对决策真正重要的但类别较少的特征。

  4. 无法捕捉非线性关系和光滑边界:对于数据分布较为复杂或者分类边界平滑的问题,决策树的表现可能不尽如人意。

  5. 不稳定对于数据的小幅变动敏感,尤其是当多个特征具有相近重要性时,决策树的结果可能会因为样本顺序的变化而产生较大差异。

四、如何避免决策树的过拟合?

避免决策树过拟合的主要策略包括:

  • 设置树的最大深度:限制决策树的最大深度可以防止模型过于复杂,减少节点划分的次数,从而降低过拟合的风险。

  • 最小样本数(或叶子节点最少样本数):要求每个内部节点(或者叶子节点)至少包含一定数量的样本,这样可以防止在训练集上构建过度复杂的分支结构。

  • 剪枝:通过后剪枝或预剪枝的方法来简化决策树。后剪枝是先生成一颗完整的决策树,然后从底部开始自下而上地删除对验证集性能改善不大的子树;预剪枝则是在构建过程中,每当扩展一个节点时,都基于验证集的表现决定是否继续划分。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++ 特殊的类设计

目录 1.请设计一个类,不能被拷贝 2. 请设计一个类,只能在堆上创建对象 3. 请设计一个类,只能在栈上创建对象 4. 请设计一个类,不能被继承 5. 请设计一个类,只能创建一个对象(单例模式) 1.请设计一个类,…

如何转行成为产品经理?

转行NPDP也是很合适的一条发展路径,之后从事新产品开发相关工作~ 一、什么是NPDP? NPDP 是产品经理国际资格认证,美国产品开发与管理协会(PDMA)发起的,是目前国际公认的唯一的新产品开发专业认证&#xff…

学术神器ChatGPT在论文分析中的妙用!

话语分析是一个广泛的研究领域,它关注的是人们在实际社会交际场景中使用的语言单位。话语分析旨在揭示语言、社会和文化之间的互动关系,以及话诺在构建意义、传递信息、维护社会关系和表达权力等方面的作用。话语分析包括对话分析、批判性话语分析、语篇…

AI安全白皮书 | “深度伪造”产业链调查以及四类防御措施

以下内容,摘编自顶象防御云业务安全情报中心正在制作的《“深度伪造”视频识别与防御白皮书》,对“深度伪造”感兴趣的网友,可在文章留言中写下邮箱,在该白皮书完成后,会为您免费寄送一份电子版。 “深度伪造”就是创建…

基于亚马逊云科技新功能:Amazon SageMaker Canvas 无代码机器学习—以构建货物的交付状态检测模型实战为例深度剖析以突显其特性

授权说明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在亚马逊云科技开发者社区、 知乎、自媒体平台、第三方开发者媒体等亚马逊云科技官方渠道。 亚马逊云科技 2023 re:Invent 全球大会是亚马逊云科技举办的一场技术盛会,…

基于FPGA的PSRAM接口设计与实现

一 PSRAM与HyperRAM 1、概述 2、异同 待完善 二 PSRAM分析 1、特性 1、关键点 待完善 三 PSRAM方案设计与验证 待完善 1、整体方案设计 2、验证 仿真工具采用VCSVerdi,PSRAM接口控制IPAPS6408L model进行验证。 四 结论 备注:以AP公司的APS6408L…

深入理解与应用Keepalive机制

目录 引言 一、VRRP协议 (一)VRRP概述 1.诞生背景 2.基本理论 (二)VRRP工作原理 (三)VRRP相关术语 二、keepalive基本理论 (一)基本性能 (二)实现原…

异地组网需要几个固定IP?

异地组网指的是在不同地区的终端设备之间建立起稳定的网络连接,以实现信息的远程传输和通信。在进行异地组网时,需要固定IP地址来确保网络连接的稳定性和可靠性。本文将介绍异地组网的基本概念和必要性,并探讨在这一过程中需要使用的固定IP的…

16-Java命令模式 ( Command Pattern )

Java命令模式 摘要实现范例 命令模式(Command Pattern)中请求以命令的形式包裹在对象中,并传给调用对象 调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令 命令模式是行为型模式&…

接收端编程、UDP编程练习、wireshrak抓包工具、UDP包头

我要成为嵌入式高手之3月6日Linux高编第十六天&#xff01;&#xff01; ———————————————————————————— 学习笔记 接收端 recvfrom #include <sys/types.h> #include <sys/socket.h> ssize_t recvfrom(int sockfd, void *buf, si…

java SSM流浪宠物救助与领养myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM流浪宠物救助与领养管理系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系…

Python 过滤函数filter()详解

一、过滤函数定义 它用于对容器中的元素进行过滤处理。 二、 过滤函数语法 filter(function,iterable) 参数function&#xff1a;提供过滤条件的函数&#xff0c;返回布尔型 参数iterable: 容器类型数据 三、过滤函数的应用场景 1、筛选符合条件的元素 需求&#xff1a;在列表…

【MySQL】not in遇上null的坑

今天遇到一个问题&#xff1a; 1、当 in 内的字段包含 null 的时候&#xff0c;正常过滤&#xff1b; 2、当 not in 内的字段包含 null 的时候&#xff0c;不能正常过滤&#xff0c;即使满足条件&#xff0c;最终结果也为 空。 测试如下&#xff1a; select * from emp e;当…

根据标签出现的频次渲染不同大小的圆和文字,圆随机摆放且相互之间不重叠

效果图&#xff1a; 按每个标签出现的频次大小渲染出不同比例大小的圆&#xff0c;渲染的圆的宽度区间为 [40, 160] &#xff0c;其中的文字的大小区间为 [12, 30] &#xff0c;圆的位置随机摆放且不重叠。 根据已知条件可得出&#xff0c;标签中频次最高的对应圆的宽度(直径…

【网络】:再谈传输层(UDP)

传输层 一.再谈端口号二.UDP 一.再谈端口号 端口号(Port)标识了一个主机上进行通信的不同的应用程序。 在TCP/IP协议中, 用 “源IP”, “源端口号”, “目的IP”, “目的端口号”, “协议号” 这样一个五元组来标识一个通信(可以通过netstat -n查看); 1.端口号划分 0 - 1023:…

第5章 HSA内存模型

5.1 引言 在共享内存环境中&#xff0c;独立的控制线程可以竞相修改单个位置。为程序以可预测的方式运行&#xff0c;程序员必须用同步来控制这些竞争。 “内存一致性模型”或“内存模型”定义了并行代理之间通信的基本规则。当这些规则含糊不清地定义或者更糟的是完全不存在…

简站wordpress主题看上去差不多 实际大不一样

有人说简站wordpress主题&#xff0c;都差不多嘛。我表示无语。表面看上去是差不多的&#xff0c;实际的细节是不一样的。 下面以编号&#xff1a;JZP4431和编号&#xff1a;JZP4878这两个主题为例子来讲一下&#xff0c;简站wordpress主题&#xff0c;在细节方面的不一样之处…

Tensorflow实现手写数字识别

模型架构 具有10个神经元&#xff0c;对应10个类别&#xff08;0-9的数字&#xff09;。使用softmax激活函数&#xff0c;对多分类问题进行概率归一化。输出层 (Dense):具有64个神经元。激活函数为ReLU。全连接层 (Dense):将二维数据展平成一维&#xff0c;为全连接层做准备。展…

智能部署之巅:Amazon SageMaker 引领机器学习革新

本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在 亚马逊云科技开发者社区, 知乎&#xff0c;自媒体平台&#xff0c;第三方开发者媒体等亚马逊云科技官方渠道。 &#xff08;全球 TMT 2023年12月6日讯&#xff09;亚马逊云科技在 2023 re:Invent 全…

vue element plus Upload 上传

通过点击或者拖拽上传文件。 基础用法# 通过 slot 你可以传入自定义的上传按钮类型和文字提示。 可通过设置 limit 和 on-exceed 来限制上传文件的个数和定义超出限制时的行为。 可通过设置 before-remove 来阻止文件移除操作。 Click to upload jpg/png files with a size …