机器学习算法(9)——集成技术(Bagging——随机森林分类器和回归)

news2024/12/17 17:22:02

一、说明

        在这篇文章,我将向您解释集成技术和著名的集成技术之一,它属于装袋技术,称为随机森林分类器和回归

        集成技术是机器学习技术,它结合多个基本模块和模型来创建最佳预测模型。为了更好地理解这个定义,我们需要退一步考虑机器学习和模型构建的最终目标。一旦我们对此有了清晰的认识,我们就可以深入研究具体的例子以及首选集成模型的原因。在上一篇文章中,我们学习了决策树。

机器学习算法(8)——决策树算法

在本文中,我将重点讨论决策树的用途。决策树是最强大的之一......

向开发网

        本文讨论使用决策树来确定个人是否应该在某些天气条件下在户外打高尔夫球。这棵树会考虑各种天气因素,并根据每个因素做出决定或提出另一个问题。例如,如果是阴天,则决定在外面玩,但如果是晴天、雨天或有风,树会在决定是否玩之前询问进一步的问题。

        要创建决策树,我们必须考虑将使用哪些特征来做出决策,以及将使用什么阈值将每个问题分类为是或否答案。我们可以继续添加问题,直到定义是和否类。但如果我们想问自己是否有朋友可以一起玩,会发生什么呢?如果我们有朋友的话,我们每次都会玩。如果没有,我们可能会继续问自己有关天气的问题。通过添加一个附加问题,我们希望更好地定义“是”和“否”类。但我们怎样才能做到这一点呢?

        这里需要用到集成技术。使用集成方法使我们能够考虑决策树样本,确定每次分割时使用哪些特征,并根据样本决策树的聚合结果做出最终预测器。这种方法比仅依靠一棵决策树来做出最终决策更可靠。在 Esemble 技术中,有 2 种技术。

  • 套袋技术
  • 升压技术

二、装袋技术如何发挥作用?

        Bagging 也称为引导聚合,通过使用多个模型训练数据集来获得更准确的输出。这个主题特别重要,因为许多公司现在在数据分析中使用这些技术。

        假设我们有一个特定的问题陈述,并且有一个名为 D 的数据集。在这个特定的数据集中,我们将创建几个基本模型(M1、M2、M3 …… Mn)并使用它们来创建基于多个的学习器。对于每个模型,我们将向M1 模型提供小于数据集中记录数(n)的数据集样本(D')。我们将使用行采样和每个模型的替换来提供数据。对于下一个模型,我们将重复相同的过程,我们将重新采样记录并将其提供给模型。每个模型都会有一组不同的数据。在向模型提供数据后,他们将接受数据训练。将对组中的所有模型重复此过程。

完成训练后,我们将使用测试数据集中的新数据进行预测。对于二元分类,我们将“测试 D”数据发送到模型 1。如果模型1输出1,模型2输出0,模型3输出1,模型Mn输出1,我们将使用投票分类器来组合测试数据的模型的输出(为1)。获得多数票的输出将被考虑。通过使用带替换的行采样和投票分类器,我们将组合模型的输出以获得最终结果。这就是套袋技术的工作原理。

注意:对于回归问题,我们可以将输出均值作为最终结果。

在装袋技术中,我们使用两种算法,

  • 随机森林分类器
  • 随机森林回归

三、随机森林分类器和随机森林回归

        自举随机森林算法将集成学习方法与决策树框架相结合,从数据中创建多个随机抽取的决策树,对结果进行平均以输出新结果,这通常会导致强大的预测/分类。

        让我向您展示一些示例,以帮助您了解随机如何处理数据集。在bagging中,我们使用多个基学习器模型,例如决策树1、决策树2、决策树3……决策树Mn(这里我们将用4个模型来解释)。在随机森林中,我们使用决策树来设计这些模型。我们从给定的数据集中采样一些行和列。我们使用带替换的行采样,这意味着我们从数据集中取出一些行( m )并选择一些列( d)作为特征样本。这就是我们如何使用 bagging 为决策树选择行子集。决策树中的记录数始终小于数据集中的记录数。

Number of Records                         : m*d
Number of Rows                            : d
Number of features(columns)               : m
Number of rows selected for row sampling  : d'
Number of features for feature sampling   : n

d' < d
n < m

        这里我们有少量记录,因此我们指定其中一些用于训练。然后,我们对这些记录进行采样,并将它们提供给第一个决策树对第二个决策树重复相同的过程,但使用替换采样。当我们进行替换采样时,并非所有记录都会重复 - 相反,会获取一个新样本并将其提供给第二个决策树。在此过程中,某些记录和特征可能会重复,但许多记录会发生变化。对于每个决策树重复此行和特征采样过程,每次使用不同的特征集。

        行采样(RS)+特征采样(FS)

        在给定数据上训练决策树后,它可以准确预测新测试数据的结果。在二元分类问题中,如果决策树给出正(1)输出,我们可以假设它是正(1)。为了做出最终预测,我们使用模型中的多数票。例如,如果模型 1、模型 2 和模型 4 假设输出为 1,则我们假设它为正。

当我们使用多个决策树时,我们需要考虑两个属性。

  • 低偏差
  • 高方差

        如果我们创建一个完整深度的决策树,它将具有低偏差和高方差,并且它将根据我们的训练数据集进行适当的训练。所以训练误差会非常低。

        当决策树由于新的测试数据而产生大量错误时,就会出现高方差。当决策树创建到其完整深度时,就会发生这种情况,称为过度拟合。在随机森林中,使用多个决策树,每个决策树都具有高方差。然而,当使用多数投票组合这些决策树时,高方差将转换为低方差。这是通过在数据集中使用行和特征采样来实现的。通过组合多个决策树的输出,可以降低高方差。

        如果我们有 1000 条记录并更改 200 条记录,这将如何影响输出?

        对输出的影响

        我们目前正在对 200 条记录的每次决策树更改进行行和特征采样。这可确保 200 条记录在决策树之间正确划分。一些记录将进入决策树 2 或 1,但此更改不会显着影响决策树的准确性或输出。这是由于随机森林的高方差特性,它适用于大多数机器学习用例。如果这是一个回归问题,决策树将给出一个连续值,我们可以取所有输出的平均值或特定输出的中位数。

        在随机森林中,特定输出的中值取决于输出的分布和决策树的结构。通常,随机森林的工作原理是查找所有决策树的输出平均值。然而,为了减少方差,我们使用多个决策树、行采样和特征采样。

        随机森林既有分类器又有回归。它们之间的唯一区别是分类器使用多数投票,而回归器找到所有决策树输出的平均值或中值。通过调整超参数(例如决策树的数量),您可以优化随机森林的性能。

        随机森林或决策树是否需要标准化(缩放)?

没有!

  • RF 的本质是收敛和数值精度问题(这些问题有时会影响逻辑回归和线性回归以及神经网络中使用的算法)并不那么重要。因此,您不需要像使用神经网络那样将变量转换为通用尺度。
  • 您不会得到任何回归系数的类似物,回归系数测量每个预测变量与响应之间的关系。因此,您也不需要考虑如何解释这些受可变测量尺度影响的系数。

这就是套袋技术中的随机森林分类器和随机森林回归。在下一篇文章中,我们将学习 Boosting 技术。

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

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

相关文章

C语言进阶之路之结构体、枚举关卡篇

目录 一、学习目标 二、组合数据类型-结构体 结构体基本概念 结构体的声明&#xff1a; 小怪实战 结构体初始化 指定成员初始化的好处&#xff1a; 结构体成员引用 结构体指针与数组 关卡BOOS 三、结构体的尺寸 CPU字长 地址对齐 结构体的M值 可移植性 四、联合体…

ssm的健身房预约系统(有报告)。Javaee项目。ssm项目。

演示视频&#xff1a; ssm的健身房预约系统&#xff08;有报告&#xff09;。Javaee项目。ssm项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通过Spring Spring…

极智一周 | AI 算力国产化、通义开源、Gemini、鸿蒙、蔚来 And so on

欢迎关注我的公众号 [极智视界]&#xff0c;获取我的更多技术分享 大家好&#xff0c;我是极智视界&#xff0c;带来本周的 [极智一周]&#xff0c;关键词&#xff1a;AI 算力国产化、通义开源、Gemini、鸿蒙、蔚来 And so on。 邀您加入我的知识星球「极智视界」&#xff0c;…

c-语言->数据在内存的存储

系列文章目录 文章目录 系列文章目录前言 前言 目的&#xff1a;学习整数在内存的储存&#xff0c;什么是大小端&#xff0c;浮点数的储存。 1. 整数在内存中的存储 在讲解操作符的时候&#xff0c;我们就讲过了下⾯的内容&#xff1a; 整数的2进制表⽰⽅法有三种&#xff0…

带有 RaspiCam 的 Raspberry Pi 监控和延时摄影摄像机

一、说明 一段时间以来&#xff0c;我一直想构建一个运动激活且具有延时功能的树莓派相机&#xff0c;但从未真正找到我喜欢的案例。我在thingiverse上找到了这个适合树莓派和相机的好案例。它是为特定的鱼眼相机设计的&#xff0c;但从模型来看&#xff0c;我拥有的廉价中国鱼…

STM32F1之CAN报文传输

目录 报文传输 1. 帧类型 1.1 数据帧 1.1.1 帧起始 1.1.2 仲裁场 1.1.3 控制场 1.1.4 数据场 1.1.5 CRC 场 1.1.6 应答场 1.1.7 帧结尾 1.2 远程帧 1.3 错误帧 1.4 过载帧 1.5 帧间空间&#xff08;INTERFRAME SPACING&#xff09; 2. 发送器/接收器的…

【动态规划】【广度优先】LeetCode2258:逃离火灾

作者推荐 本文涉及的基础知识点 二分查找算法合集 动态规划 二分查找 题目 给你一个下标从 0 开始大小为 m x n 的二维整数数组 grid &#xff0c;它表示一个网格图。每个格子为下面 3 个值之一&#xff1a; 0 表示草地。 1 表示着火的格子。 2 表示一座墙&#xff0c;你跟…

【C语言】内联函数

一、内联函数 在C语言中&#xff0c;内联函数&#xff08;Inline function&#xff09;是一种代码优化技术&#xff0c;它的目的是减少函数调用的开销。内联函数通知编译器在每个函数调用的位置插入函数的实际代码&#xff0c;而不是进行传统的函数调用。这避免了调用函数时的…

球上进攻^^

欢迎来到程序小院 球上进攻 玩法&#xff1a;点击鼠标走动躲避滚动的球球&#xff0c;球球碰到即为游戏结束&#xff0c;看看你能坚持多久&#xff0c;快去玩吧^^。开始游戏https://www.ormcc.com/play/gameStart/214 html <div id"game" class"game" …

【基于Flask、MySQL和Echarts的热门游戏数据可视化平台设计与实现】

基于Flask、MySQL和Echarts的热门游戏数据可视化平台设计与实现 前言数据获取与清洗数据集数据获取数据清洗 数据分析与可视化数据分析功能可视化功能 创新点结语 前言 随着游戏产业的蓬勃发展&#xff0c;了解游戏销售数据对于游戏从业者和游戏爱好者都至关重要。为了更好地分…

(六)五种最新算法(SWO、COA、LSO、GRO、LO)求解无人机路径规划MATLAB

一、五种算法&#xff08;SWO、COA、LSO、GRO、LO&#xff09;简介 1、蜘蛛蜂优化算法SWO 蜘蛛蜂优化算法&#xff08;Spider wasp optimizer&#xff0c;SWO&#xff09;由Mohamed Abdel-Basset等人于2023年提出&#xff0c;该算法模型雌性蜘蛛蜂的狩猎、筑巢和交配行为&…

DataFrame的使用

查看数据类型及属性 # 查看df类型 type(df) # 查看df的shape属性&#xff0c;可以获取DataFrame的行数&#xff0c;列数 df.shape # 查看df的columns属性&#xff0c;获取DataFrame中的列名 df.columns # 查看df的dtypes属性&#xff0c;获取每一列的数据类型 df.dtypes df.i…

模型能力赋能搜索——零样本分类(Zero-Shot Classification)在搜索意图识别上的探索

什么是Zero-Shot Classification https://huggingface.co/tasks/zero-shot-classification hugging face上的零样本分类模型 facebook/bart-large-mnli https://huggingface.co/facebook/bart-large-mnli 当然这是一个英文模型&#xff0c;我们要去用一些多语言的模型。 可以在…

Android 样式小结

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、商业变现、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、概览三、使用3.1 创建并应用样式3.2 创建并…

Azure Machine Learning - 使用 Azure OpenAI 服务生成图像

在浏览器/Python中使用 Azure OpenAI 生成图像&#xff0c;图像生成 API 根据文本提示创建图像。 关注TechLead&#xff0c;分享AI全维度知识。作者拥有10年互联网服务架构、AI产品研发经验、团队管理经验&#xff0c;同济本复旦硕&#xff0c;复旦机器人智能实验室成员&#x…

点击el-tree小三角后去除点击后的高亮背景样式,el-tree样式修改

<div class"videoTree" v-loading"loadingTree" element-loading-text"加载中..." element-loading-spinner"el-icon-loading" element-loading-background"rgba(0, 0, 0, 0.8)" > <el-tree :default-expand-all&q…

可视化监控云平台/智能监控平台EasyCVR国标设备开启音频没有声音是什么原因?

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同&#xff0c;支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。GB28181视频平台EasyCVR拓展性强&#xff0c;视频能力丰富&#xff0c;具体可实现视频监控直播、视频轮播、视频录像、云存…

Nacos源码解读09——配置中心配置信息创建修改怎么处理的

存储配置 从整体上Nacos服务端的配置存储分为三层&#xff1a; 内存&#xff1a;Nacos每个节点都在内存里缓存了配置&#xff0c;但是只包含配置的md5&#xff08;缓存配置文件太多了&#xff09;&#xff0c;所以内存级别的配置只能用于比较配置是否发生了变更&#xff0c;只用…

基于SSM实现的公文管理系统

一、技术架构 前端&#xff1a;jsp | jquery | bootstrap 后端&#xff1a;spring | springmvc | mybatis 环境&#xff1a;jdk1.8 | mysql | maven 二、代码及数据库 三、功能介绍 01. 登录页 02. 首页 03. 系统管理-角色管理 04. 系统管理-功能管理 05. 系统管理-用…

[数据启示录 02] 堆栈

堆栈&#xff08;stack&#xff09;是一种基于后进先出&#xff08;LIFO&#xff0c;Last In First Out&#xff09;原则的数据结构。它模拟了现实生活中的堆栈&#xff0c;类似于一摞盘子或一堆书。 堆栈有两个基本操作&#xff1a;入栈&#xff08;push&#xff09;和出栈&a…