机器学习—学习过程

给定训练集构建决策树的过程有几个步骤。

给出了一组由十个猫和狗的例子组成的训练集,决策树学习的第一步是我们必须决定在根节点使用什么特性,这是决策树顶部的第一个节点,通过一个算法,假设我们决定选择根节点中的特性,耳朵的形状,这意味着我们将决定看看我们所有的训练例子,这里显示有10个训练例子,并根据耳朵形状特征的值将它们分开,让我们挑出五个尖耳朵的例子,把它们移到左边,剩下五个松软耳朵的例子移到右边,第二步就是看左边,或者有时调用决策树的左分支来决定节点放在哪里,特别是我们想在什么特征上分类,或者我们下一步想使用什么功能,假设决定使用那里的脸型特征,所以现在把左边的五个例子根据他们的脸型值分成两个子集,分别是圆脸和不是圆脸,有四个例子都是圆脸那么把它移到左边,剩下一个移到右边,最后我们看到这四个圆脸的例子都是猫,所以,与其进一步分类,不如创建一个叶节点来进行预测,所以在不是圆脸这里创建一个叶节点,预测不是猫,在决策树左分支的左部分完成此操作后,现在在这个决策树右部分或右分支上重复一个类似的过程,把注意力集中在这五个例子中,里面有一只猫和四只狗,我们必须在这里选择一些特性来进一步分解这五个例子,最后选择胡须作为分类依据,然后根据胡须是否存在来给这五个例子进行分类,只有一个是小猫,这些节点都是纯粹的,意思是要么是猫要么都不是猫,不再有猫和狗的混合,所以可以创建这些叶节点,在左边做一个猫预测,右边是一个不是猫的预测,所以这就是通过这个过程建立决策树的过程,在算法的各个步骤中,我们必须做出几个关键的决定。

第一个关键决定是如何选择在每个节点上使用什么特性进行拆分,所以在根节点以及决策树的左分支和右分支,我们必须决定在分支上是否有几个例子,包括猫和狗的混合体,在耳朵形状特征上分类,或者脸型特征或者胡须特征,决策树会选择在哪个特性上拆分,为了最大限度地提高纯度,需要知道如何划分子集,尽可能接近所有的猫和狗,例如,如果我们有一个特写说这种动物有猫的DNA么,我们实际上没有这个功能,但如果做了,我们可以在根节点上拆分这个特性,会导致五只猫中有五只在左边的树枝上,右边的五只猫中没有一只,这些数据的左子集和右子集都是完全纯的,不管是不是猫,都在左支和右支,所有猫的DNA特征,如果我们有这个功能,这将是一个很好的功能,但有了我们实际拥有的特征,我们将这些样本按耳朵形状、脸型、是否有胡须做成不同的决策树模型,因此决策树学习算法必须在耳朵形状、脸型、胡须之间做出选择,这些特征哪个导致最大的纯度,如果能得到一个高纯的子集,然后进行对猫的预测,得到的结果大部分都是正确的,所以当我们学习决策树时,我们必须做出的第一个决定如何选择在每个节点中生成哪个特性.

在构建决策树时,你需要做出的第二个关键决策是决定什么时候停止分类,我们使用的标准,对于上一个例子来说,直到直到百分之百所有的猫,或者百分之百所有的狗都不是猫,因为在这一点上,构建一个叶节点来进行分类预测似乎是很自然的,进一步拆分子集将导致树超过最大深度允许树生长到的最大深度是一个可以在决策树中决定的参数,节点的深度定义为获取所需的跳数,即位于特定节点顶部的节点,所以根节点取零,跳到自己身上,深度为零,它下面的节点在深度一,下边是深度二,所以如果你决定决策树最大深度是2,然后你将决定不拆分级别以下的任何节点,所以这棵树永远到不了深度3,你可能想要限制决策树深度的一个原因是确保,首先,树不会变得太大,第二,通过保持树的小,使它不太容易过度拟合,你可能用来决定停止的另一个标准,如果纯度分数的提高,将会低于一定的阈值,但如果收益太小,可能你就不会在费心让树变小了,并降低过装风险,最后,如果节点上的示例数低于某个阈值,然后你也可能决定停止分裂,例如,如果在根节点上,在脸型特征上有分类,然后右边的分支就只有3个训练例子,一只猫两只狗,而不是把它分成更小的子集,如果你决定不使用3个或几个示例来拆分更多的示例集,然后你只需创建一个决策节点,而且因为主要是狗,这里有两三只狗,这将是一张预测不是猫的纸条,还有一个原因是为了让树变小,避免过度拟合。

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

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

相关文章

矩阵转置        ‌‍‎‏

矩阵转置 C语言代码C 语言代码Java语言代码Python语言代码 💐The Begin💐点点关注,收藏不迷路💐 输入一个n行m列的矩阵A,输出它的转置 A T A^T AT。 输入 第一行包含两个整数n和m,表示矩阵A的行数和列数。…

GPT 1到4代的演进笔记

1. GPT-1 标题是 Improving Language Understanding by Generative Pre-Training. 发表于 2018.02, 比 bert(发布于 2018.10) 早了半年. 1.1 动机 困难:NLU 任务是多样的, 有 {textual entailment, question answering, semantic similarity assessment, document classifica…

JDK17 下载与安装

下载安装包 针对不同的操作系统, 需要下载对应版本的 JDK. 如果电脑是 Windows32 位的, 建议重装系统, 重装成 64 位的操作系统. 因为 Java 从 9 版本开始, 就已经不提供 32 位版本的安装包了. 官网下载 官网下载链接 需要登录 Oracle 账号才能下载. 账号: 2872336204qq.c…

51c视觉~YOLO~合集4

我自己的原文哦~ https://blog.51cto.com/whaosoft/12512597 1、Yolo8 1.1、检测PCB元件 技术世界正在以惊人的速度发展,而这种转变的核心是一个革命性的工具 — 计算机视觉。它最有趣的应用之一是电子印刷电路板 (PCB) 的检测和分析。本文…

python学习笔记15 python中的类

上一篇我们介绍了python中的库 ,学习了一些常见的内置库。详细内容可点击–>python学习笔记14 python中的库,常见的内置库(random、hashlib、json、时间、os) 这一篇我们来看一下python中的类 创建一个类 class 类的名称():de…

Day28 买卖股票的最佳时机 跳跃游戏 跳跃游戏 II K 次取反后最大化的数组和

贪心算法 part02 122. 买卖股票的最佳时机 II - 力扣&#xff08;LeetCode&#xff09; 求最大利润 将每天的正利润加和 public int maxProfit(int[] prices) {int totalPrices 0;for(int i0;i<prices.length;i){if(i<prices.length-1&&prices[i1]>prices[…

洛谷P1827 [USACO3.4] 美国血统 American Heritage(c嘎嘎)

题目链接&#xff1a;P1827 [USACO3.4] 美国血统 American Heritage - 洛谷 | 计算机科学教育新生态 题目难度&#xff1a;普及 首先介绍下二叉树的遍历&#xff1a; 学过数据结构都知道二叉树有三种遍历&#xff1a; 1.前序遍历&#xff1a;根左右 2.中序遍历&#xff1a;左根…

『数据结构』空间复杂度

&#x1f6a9; WRITE IN FRONT &#x1f6a9; &#x1f50e; 介绍&#xff1a;"謓泽"正在路上朝着"攻城狮"方向"前进四" &#x1f50e;&#x1f3c5; 荣誉&#xff1a;2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…

多模态COGMEN详解

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

STM32 进阶 定时器3 通用定时器 案例2:测量PWM的频率/周期

需求分析 上一个案例我们输出了PWM波&#xff0c;这个案例我们使用输入捕获功能&#xff0c;来测试PWM波的频率/周期。 把测到的结果通过串口发送到电脑&#xff0c;检查测试的结果。 如何测量 1、输入捕获功能主要是&#xff1a;测量输入通道的上升沿和下降沿 2、让第一个…

重生之我在异世界学编程之C语言:操作符篇

大家好&#xff0c;这里是小编的博客频道 小编的博客&#xff1a;就爱学编程 很高兴在CSDN这个大家庭与大家相识&#xff0c;希望能在这里与大家共同进步&#xff0c;共同收获更好的自己&#xff01;&#xff01;&#xff01; 本文目录 引言正文1. 算术操作符2. 关系&#xff0…

STM32 进阶 定时器 2基本定时器 基本定时器中断案例:LED闪烁

基本定时器 基本定时器TIM6和TIM7各包含一个16位自动装载计数器&#xff0c;由各自的可编程预分频器驱动。 这2个定时器是互相独立的&#xff0c;不共享任何资源。 这个2个基本定时器只能向上计数&#xff0c;由于没有外部IO&#xff0c;所以只能计时&#xff0c;不能对外部…

OpenVas安装步骤及报错问题

安装步骤 1、更新系统 apt update && apt upgrade && apt dist-upgrade 2、安装openvas apt-get install openvas 3、初始化 gvm-setup 时间要很久 4、检查安装结果 gvm-check-setup 安装成功 5、设置用户名和密码&#xff0c;都为admin sudo runuse…

深度学习之pth转换为onnx时修改模型定义‌

文章目录 概述实现步骤python代码 概述 在将PyTorch模型&#xff08;.pth文件&#xff09;转换为ONNX格式时&#xff0c;通常的转换过程是通过torch.onnx.export函数来实现的。这个过程主要是将PyTorch模型的计算图导出为ONNX格式&#xff0c;以便在其他框架或环境中使用。 在…

STL算法之sort

STL所提供的各式各样算法中&#xff0c;sort()是最复杂最庞大的一个。这个算法接受两个RandomAccessIterators(随机存取迭代器)&#xff0c;然后将区间内的所有元素以渐增方式由小到大重新排列。还有一个版本则是允许用户指定一个仿函数代替operator<作为排序标准。STL的所有…

解决Tomcat运行时错误:“Address localhost:1099 is already in use”

目录 背景: 过程&#xff1a; 报错的原因&#xff1a; 解决的方法&#xff1a; 总结&#xff1a; 直接结束Java.exe进程&#xff1a; 使用neststat -aon | findstr 1099 命令&#xff1a; 选择建议&#xff1a; 背景: 准备运行Tomcat服务器调试项目时&#xff0c;程序下…

AJAX三、XHR,基本使用,查询参数,数据提交,promise的三种状态,封装-简易axios-获取省份列表 / 获取地区列表 / 注册用户,天气预报

一、XMLHttpRequest基本使用 XMLHttpRequest&#xff08;XHR&#xff09;对象用于与服务器交互。 二、XMLHttpRequest-查询参数 语法: 用 & 符号分隔的键/值对列表 三、XMLHttpRequest-数据提交 核心步骤 : 1. 请求头 设置 Content-Type 2. 请求体 携带 符合要求 的数…

矩阵加法        ‌‍‎‏

矩阵加法 C语言代码C 语言代码Java语言代码Python语言代码 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 输入两个n行m列的矩阵A和B&#xff0c;输出它们的和AB。 输入 第一行包含两个整数n和m&#xff0c;表示矩阵的行数和列数。1 <…

flink-connector-mysql-cdc:01 mysql-cdc础配置代码演示

flink-connector-mysql-cdc&#xff1a; 01 mysql-cdc基础配置代码演示02 mysql-cdc高级扩展03 mysql-cdc常见问题汇总04 mysql-cdc-kafka生产级代码分享05 flink-kafka-doris生产级代码分享06 flink-kafka-hudi生产级代码分享 flink-cdc版本&#xff1a;3.2.0 flink版本&…

ELK的Filebeat

目录 传送门前言一、概念1. 主要功能2. 架构3. 使用场景4. 模块5. 监控与管理 二、下载地址三、Linux下7.6.2版本安装filebeat.yml配置文件参考&#xff08;不要直接拷贝用&#xff09;多行匹配配置过滤配置最终配置&#xff08;一、多行匹配、直接读取日志文件、EFK方案&#…