【机器学习 复习】第4章 决策树算法(重点)

一、概念

1.原理看图,非常简单:

(1)蓝的是节点,白的是分支(条件,或者说是特征,属性,也可以直接写线上,看题目有没有要求),

(2)适用于离散的数据,分分分,就完了!

(3)训练阶段就是构造一个树,测试阶段就是沿着构造的树走一遍,但是选择哪个特征作为分支节点很难

2.既可以用于分类,也可以用于回归(区别线性模型可以在坐标轴画出来):

(1)分类问题:根据输入特征的取值,通过一系列的决策节点(节点上的条件判断)来对样本进行分类。最终每个叶节点对应一个类别标签。

(2)回归问题:通过一系列的决策节点,来预测数值型的目标变量。每个叶节点对应的数值是该节点上所有训练样本目标变量的 均值 或 加权平均值 。

3.构建决策树的三个方法:

顺序 基于信息增益的ID3,在此基础上改编出基于信息增益率的C4.5,然后是升级版的基于基尼指数的CART

4.信息熵(超级无敌重点)

(熵的概念在第一章,但基础就是越混乱,熵越大

(1)信息熵公式:

(2)例题:

假如有一个普通般子A,仍出1-6的概率都是1/6

有一个散子B,扔出6的概率是50%,扔出1-5的概率都是10%

有一个般子C,扔出6的概率是100%。

解:

   

(PS:不算一下,不知道问题出在哪!)

5.信息增益gain

与此关联的是ID3,选信息增益最大的作为下一个节点

(1)计算公式:

(2)性质:

a.  gain与属性的值域大小成正比,属性取值种类越多,越有可能成为分裂属性(即ID3算法对可取数值多的属性有偏好)。

b. 不能处理连续分布的数据特征

(3)习题:

有下列数据集:

解:

步骤1:如何确定根节点

总的信息熵:

以下主要计算了基于天气的,但是最后剩下三种的都给了。

由于outlook的信息增益最大,根据ID3规则,选Outlook,接下来算一次子节点:

也是可以得出下一次就是humidity作为sunny的子节点了,毕竟它最大。

6.信息增益率(计算太麻烦了,应该不考计算):

与此关联的是C4.5,选信息增益率最大的作为下一个节点,使用该方法最大的优点就是避免了因为种类太多导致gain值过于大的情况(分母越大,值越小)。

(1)公式及例子:

(2)其具体算法步骤与ID3类似;

(3)优缺点

优点:

C4.5能够完成对连续属性的离散化处理;

能够对不完整数据进行处理;

分类规则易于理解、准确率较高;

缺点:

效率低,只适合于能够驻留于内存的数据集。

7.CART算法(应该也不考计算)

采用的是一种二分循环分割的方法,每次都把当前样本集划分为两个子样本集,使生成的决策树的结点均有两个分支,显然,这样就构造了一个二叉树。如果分支属性有多于两个取值,在分裂时会对属性值进行组合,选择最佳的两个组合分支。

(1)采用的是基尼(gini)指数。

(2)公式:

8.过拟合问题

一方面要注意选取具有代表性样本,这样数据集质量高。

另一方面要限制树的深度来减少数据中的噪声对于决策树构建的影响,一般采取剪枝

剪枝是用来缩小决策树的规模,从而降低最终算法的复杂度提高预测准确度,包括预剪枝和后剪枝两类。

(1)预剪枝的思路是提前终止决策树的增长,在形成完全拟合训练样本集的决策树之前就停止树的增长,避免决策树规模过大而产生过拟合。

条件可以报考深度,最大叶子数等

(2)后剪枝策略先让决策树完全生长,之后针对子树进行判断,用叶子结点或者子树中最常用的分支替换子树,以此方式不断改进决策树,直至无法改进为止。

一般情形下,后剪枝决策树的欠拟合风险很小,泛化性能往往优于预剪枝决策树。

但训练时间比预剪枝要大得多。

二、习题

单选题

2.( B)是最早用于决策树模型的特征选择指标,也是ID3算法的核心。

A、信息增益率  B、信息增益  C、基尼指数  D、信息增益比

10. 下列关于ID3算法说法错误的是(D

A、ID3算法中根据信息论的信息增益 评估和选择 特征

B、ID3不能处理连续分布的数据特征

C、ID3算法对可取数值多的属性有偏好

D、每次选择信息增益最小的候选特征,作为判断模块

多选题

9. 以下关于决策树的说法正确的是(ABC  )。

A、既可用于分类,又可以用于回归

B、通过贪心策略挑选最优属性

C、具有很强的数据拟合能力,容易产生过拟合

D、一定能找到全局最优解

(贪心算法,即每一步都采取局部最优的选择来构建树。)

判断题

5. 决策树属于典型的生成模型。( F

10. 决策树是一种常用的机器学习算法,既可用于分类,也可用于回归( T)。

11. 如果对决策树进行剪枝可以减小决策树的复杂度,提高决策树的专一性能力。(F

本题老师给的答案是错误,但是我查的是正确的。。。

12. 决策树本身是一种贪心的策略,一定能够得到全局的最优解。(F

计算题

2.根据提供的打球和天气表格构造决策树,要求计算每个特征的信息熵(4分),并依据信息增益确定每个根节点的特征(3分),画出决策树(3分)。

Day

Outlook

Windy

Play

1

Rain

Weak

no

2

Sunny

Weak

yes

3

Rain

Strong

no

4

Sunny

Weak

yes

5

overcast

Strong

no

答案:

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

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

相关文章

报错:ZeroDivisionError_ division by zero

问题:除数为0 原代码错误来源 # 归一化 , 保留6位小数 w round(w / img_w, 6) h round(h / img_h, 6) cx round(cx / img_w, 6) cy round(cy / img_h, 6) # print(cls_id, cx, cy, w, h) # 结果保存到数据labels文件夹中的txt文件 out_file.write(str(cls_id) …

com.lowagie:itext:jar:2.1.7.js9 was not found

1 在 https://jaspersoft.jfrog.io/ui/native/third-party-ce-artifacts/com/lowagie/itext/2.1.7.js9/下载com/lowagie/itext/2.1.7.js9/itext-2.1.7.js9.jar的包, 2 在本地maven仓库com.lowagie.itext.2.1.7的目录下,将itext-2.1.7.js9.jar复制更名为…

深度学习 --- stanford cs231学习笔记五(训练神经网络的几个重要组成部分之二,数据的预处理)

训练神经网络的几个重要组成部分 二 2 Data Preprocessing数据的预处理 数据预处理的几种方法 2,1 数据的零点中心化 数据的零点中心化的目的就是为了把数据的整体分布拉回到原点附近,也就是让数据的整体均值变为0。 ​ 2,2 数据的标准化 数…

JDBC(简介、入门与IDEA中导入MySQL的驱动)

(建议学完 MySQL 的基础部分) JDBC——简而言之:用 Java 语言操作数据库。 Java DataBase Connectivity(Java 语言连接数据库) 目录 一、引言 (1)基本介绍 (2)JDBC 简…

[信号与系统]傅里叶变换、卷积定理、和为什么时域的卷积等于频域相乘。

前言 最近学习以下IIR滤波器和FIR滤波器 前置 1. 时域和频域 时域和频域代表着频率和时间与振幅的一一对应关系 2. 卷积运算 关于卷积的定义,详情请看 这篇文章能让你明白卷积 卷积运算是一种数学运算,广泛应用于信号处理、图像处理、控制系统和概…

【ARMv8/v9 GIC 系列 2 -- GIC SPI 中断的 enable和 disable 配置】

文章目录 GIC 中断 Enable 和 DisableGICD_ISENABLER<n>GICD_ICENABLER<n>参数 n使用举例代码实现注意事项 GIC 中断 Enable 和 Disable 在ARMv8架构中&#xff0c;通用中断控制器&#xff08;GIC&#xff09;负责管理处理器的中断。为了控制和管理这些中断&#…

网络安全管理组织架构复习

文章目录 安全管理机构岗位设置安全要求要求解读 安全管理机构 安全管理的重要实施条件就是有一个统一指挥、协调有序、组织有力的安全管理机构,这是网络安全管理得以实施、推广的基础。 通过构建从单位最高管理层到执行层及具体业务运营层的组织体系&#xff0c;可以明确各个…

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(十四)

课程地址&#xff1a; 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程&#xff0c;一套精通鸿蒙应用开发 &#xff08;本篇笔记对应课程第 22 节&#xff09; P22《21.ArkUI-实现摇杆功能》 本节我们将小鱼动画案例中的按钮控制改为摇杆控制&#xff0c;用来熟悉和巩固…

【多模态论文】CLIP(Contrastive Language-Image Pre-training)

论文&#xff1a;Learning Transferable Visual Models From Natural Language Supervision 链接&#xff1a;https://arxiv.org/abs/2103.00020 摘要 问题&#xff1a; 对预定的类别进行预测&#xff0c;这种有监督的训练形式受限于额外标记数据 。如何利用图像的原始文本来获…

图像数字化基础

一、像素 1、获取图像指定位置的像素 import cv2 image cv2.imread("E:\\images\\2.png") px image[291,218] print("坐标(291,218)上的像素的BGR值是&#xff1a;",px) &#xff08;1&#xff09;RGB色彩空间 R通道&#xff1a;红色通道 G通道&…

RH850---注意问题积累--1

硬件规格(引脚分配&#xff0c;内存映射&#xff0c;外设功能规格、电气特性、时序图)和操作说明 注意:有关使用的详细信息&#xff0c;请参阅应用说明 ---------外围函数。。。 1:存储指令完成与后续同步指令的一代 当控制寄存器被存储指令更新时&#xff0c;从存储的执行开始…

南京邮电大学计算机网络实验二(网络路由器配置RIP协议)

文章目录 一、 实验目的和要求二、 实验环境(实验设备)三、 实验步骤四、实验小结&#xff08;包括问题和解决方法、心得体会、意见与建议等&#xff09;五、报告资源 一、 实验目的和要求 掌握思科路由器的运行过程&#xff0c;掌握思科路由器的硬件连线与接口&#xff0c;掌…

VBA学习(13):获取多层文件夹内文件名并建立超链接

代码使用了FileSystemObject对象和递归的方法实现文件夹和文件的遍历功能。分别将文件夹名称和文件名提取在表格的A/B列&#xff0c;并对文件名创建了超链接。 示例代码如下&#xff1a; Sub AutoAddLink()Dim strFldPath As StringWith Application.FileDialog(msoFileDialog…

如何下载DVS Gesture数据集?解决tonic.datasets.DVSGesture错误HTTP Error 403: Forbidden

1 问题 DVSGesture数据集是一个专注于动态视觉传感&#xff08;Dynamic Vision Sensor, DVS&#xff09;技术的数据集&#xff0c;它包含了基于事件的图像记录&#xff0c;用于手势识别任务。DVSGesture数据集由一系列动态图像组成&#xff0c;这些图像是通过动态视觉传感器捕…

抖音矩阵系统搭建,AI剪辑短视频,一键管理矩阵账号

目录 前言&#xff1a; 一、抖音矩阵系统有哪些功能&#xff1f; 1.AI智能文案 2.多平台账号授权 3.多种剪辑模式 4. 矩阵一键发布&#xff0c;智能发布 5.抖音爆店码功能 6.私信实时互动 7.去水印及外链 二、抖音矩阵系统可以解决哪些问题&#xff1f; 总结&#xff…

理解HTTP请求格式

HTTP概念 HTTP全称HyperTextTransfer Protocol(超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议&#xff1b;HTTP是一个客户端&#xff08;用户&#xff09;和服务端&#xff08;网站&#xff09;之间请求和响应的标准。 HTTP 协议是以 ASCII 码传输&…

Gobject tutorial 八

The GObject base class Object memory management Gobject的内存管理相关的API很复杂&#xff0c;但其目标是提供一个基于引用计数的灵活的内存管理模式。 下面我们来介绍一下&#xff0c;与管理引用计数相关的函数。 Reference Count 函数g_object_ref和g_object_unref的…

怎么将几段音频合并在一起,试试这几个音频拼接小妙招

怎么将多个音频合并在一起呢&#xff1f;音频是我们日常工作生活中常见的文件&#xff0c;音频与我们息息相关&#xff0c;无论你是音乐爱好者&#xff0c;还是喜欢记录生活中的声音&#xff0c;都离不开音频。因此我们会遇到关于很多音频剪辑的难题&#xff0c;就像今天小编给…

usb摄像头应用编程

作者简介&#xff1a; 一个平凡而乐于分享的小比特&#xff0c;中南民族大学通信工程专业研究生在读&#xff0c;研究方向无线联邦学习 擅长领域&#xff1a;驱动开发&#xff0c;嵌入式软件开发&#xff0c;BSP开发 作者主页&#xff1a;一个平凡而乐于分享的小比特的个人主页…

conda install xformers -c xformers/label/dev 的安装问题

在StableSR项目框架中&#xff0c;需要执行 conda install xformers -c xformers/label/dev 但是报错&#xff0c;错误显示&#xff0c;版本不匹配&#xff0c;如下所示&#xff1a; 我改用pip来安装&#xff0c;好像就不报错了&#xff1a; pip install xformers