【原理】随机森林模型是怎么训练的

本文来自《老饼讲解-BP神经网络》https://www.bbbdata.com/

目录

  • 一、随机森林简介
  • 二、随机森林训练原理
    • 2.1. 随机森林的训练流程
    • 2.2. 随机森林训练的核心代码

用过随机森林的朋友都知道,随机森林是集成决策的一个经典代表,它通过训练多棵决策树,进行集体决策以抵抗过拟合。
但是,随机森林究竟具体是怎么训练出来的呢?笔者扒了python-sklearn的源码细读后发现原来如此简单,下面我们就一起看一看随机森林是怎么训练出来的吧~

一、随机森林简介

随机森林是将决策树进行简单bagging的一种集成算法,它经过多次随机抽取样本训练多棵决策树,用多棵决策树集成决策。由于它拥有多棵树,且每棵树是随机的,所以称为随机森林。
随机森林
随机森林的模型表达式如下:
随机森林的模型表达式
可以看到,随机森林就是多棵决策树的集成,要了解随机森林是如何训练的,也就只需要了解随机森林的每棵决策树是如何训练的就可以了。

用过随机森林的朋友都知道随机森林是怎么回事了,没用过随机森林的朋友,从上面的表达式也大概知道随机森林是个什么模型了,这里就不作过多的解释了,下面就直接介绍随机森林是怎么训练出这么多决策树的吧~!

二、随机森林训练原理

2.1. 随机森林的训练流程

下面展示随机森林的训练流程图:
随机森林训练流程
随机森林的具体训练流程如下
1.样本抽取 : 放回式随机抽取n(样本个数)次样本,最终得到n个样本
2.训练弱树 : 用抽取的样本训练决策树,最多使用m个特征就退出树的训练
一直训练K棵树为止
简单地说,就是生成k棵树,每棵树用的样本随机抽取,最后k棵树组合在一起就是森林

2.2. 随机森林训练的核心代码

下面展示随机森林训练时的核心代码,如下
随机森林训练代码
由于随机森林就是训练决策树,所以这里直接调用决策树模型的代码,从代码中可以看到,就是先对样本进行抽样,然后再训练决策树就行了。
总的来说,随机森林的训练原理就是这么简单。


相关链接:

《老饼讲解-机器学习》:老饼讲解-机器学习教程-通俗易懂
《老饼讲解-神经网络》:老饼讲解-matlab神经网络-通俗易懂
《老饼讲解-神经网络》:老饼讲解-深度学习-通俗易懂

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

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

相关文章

Zigbee智能家居数据中心:微信小程序实时掌控家居传感器信息

摘要: 本文将介绍如何构建一个基于Zigbee和微信小程序的智能家居网关,实现对家居传感器数据的采集、汇总和展示。用户可通过微信小程序实时查看家中温湿度、光照等环境数据,为智能家居系统提供数据支撑。 关键词: Zigbee&#xf…

是什么让以太坊从众多公链中脱颖而出

以太坊从众多公链中脱颖而出,成为区块链和加密货币领域的一个重要玩家,主要是由于以下几个关键因素: 智能合约: 以太坊是第一个广泛实施智能合约的区块链平台,智能合约允许在区块链上自动执行合同条款,无需…

普利姆最小生成树算法 c++

普里姆(Prim)算法是一种用于在加权连通无向图中查找最小生成树(MST, Minimum Spanning Tree)的贪心算法。最小生成树是一个子图,它包括图中的所有顶点,并且边的总权重最小。该算法的基本思想是从一个顶点开始,逐步扩展生成树,直到包括所有顶点。 算法步骤 初始化: 从…

java内存管理机制(二)-内存分配

在上一篇文章中,我们花了较大的篇幅去介绍了JVM的运行时数据区,并且重点介绍了栈区的结构及作用,在本文中,我们将主要介绍对象的创建过程及在堆中的分配方式。 对象的创建 在上文我们提过一些问题,你的对象是怎么new…

Pump.fun

Pump.fun 是一个专为 Meme 币设计的发布token的工具和社群平台,于2024年1月在Solana区块链上推出,随后扩展至以太坊Layer 2 Blast。它的核心价值在于简化了发币过程,降低了技术门槛,允许任何人以极低的成本(0.02SOL&am…

C# HTTP POST(System.Net.WebException:请求已中止:请求已被取消)

一.问题描述 最近在使用c# http post请求时&#xff0c;遇见了这种异常&#xff0c;大概异常提示如下 System.Net.WebException&#xff1a;请求已中止&#xff1a;请求已被取消&#xff0c;在数据写入前关闭了数据流 错误代码如下&#xff1a; /// <summary>/// 向指…

5.3.3、二维数组案例-考试成绩统计

代码 #include <iostream> using namespace std; #include <string>int main() {//二维数组案例-考试成绩统计//1、创建二维数组int scores[3][3] {{100,100,100},{90,50,100},{60,70,80},};string names[3] { "张三","李四","王五&quo…

基于星火大模型的群聊对话分角色要素提取挑战赛|#AI夏令营#Datawhale#夏令营-Lora微调与prompt构造

赛题连接 https://challenge.xfyun.cn/topic/info?typerole-element-extraction&optionphb Datawhale Al夏令营 零基础入门大模型技术竞赛 数据集预处理 由于赛题官方限定使用了星火大模型&#xff0c;所以只能调用星火大模型的API或者使用零代码微调 首先训练数据很少…

周志华机器学习西瓜书经典来袭!PPT+课件+南瓜书

南京大学教授&#xff0c;博士生导师&#xff0c;教育部“长江学者”特聘教授&#xff0c;国家杰出青年基金获得者&#xff01;周志华老师的头衔太多了&#xff01;相信每一个从事或爱好机器学习的朋友都知道周志华老师&#xff0c;尤其是他的那本经典巨作《机器学习》&#xf…

慧哥Saas充电桩开源平台 V2.5.5

文章目录 原地址&#xff1a;https://gitee.com/chouleng/cdzkjjh&#xff0c;更换新的地址如下 [点击此链接 https://gitee.com/chouleng/huili-cloud](https://gitee.com/chouleng/huili-cloud)一、产品功能部分截图1.手机端&#xff08;小程序、安卓、ios&#xff09;2.PC端…

华为云OBS 通过S3客户端访问

华为云好像没有对S3协议的支持说明其实底层是支持S3协议的。 使用S3的时候我们会需要endpoint&#xff0c;桶名字&#xff0c;region&#xff0c;AWS_ACCESS_KEY,AWS_SECRET_KEY 其中endpoint 就是图片中的&#xff0c;桶名字也很容易找到&#xff0c;region 就是你的endpoint…

博途TIA Portal「集成自动化软件」下载安装,TIA Portal 灵活多变的编程环境

在编程领域&#xff0c;博途TIA Portal以其卓越的编程工具和灵活多变的编程环境&#xff0c;为众多用户提供了前所未有的便利。这款软件不仅支持多种编程语言&#xff0c;如梯形图&#xff08;Ladder Diagram&#xff09;、功能块图&#xff08;Function Block Diagram&#xf…

CVE-2024-6387漏洞复现有没有会的并详细解答的?求指点

CVE-2024-6387漏洞复现有没有会的并详细解答的&#xff1f;求指点

使用 gdb 脚本捕获 crash 时的 stack

crashreport.gdb 在看TrinityCore代码时&#xff0c;看到一段有趣的脚本(crashreport.gdb)&#xff1a; set logging overwrite on set logging file backtrace.log.temp set style enabled off set height unlimited set width unlimited set disassembly-flavor intel hand…

华为HCIP Datacom H12-821 卷24

1.单选题 企业大楼有大量员工通常都在上班时在大厅开始接入到公司的WLAN网络,随着每位员工走到各自的工位过程中&#xff0c;每个人的移动端叶通过漫游的方式漫游到各自的网络覆盖区域。为了尽量保证每个终端的IP地址是固定的&#xff0c;建议的做法是? A、配置VLAN Poo…

统计信号处理基础 习题解答11-13

题目 如果是一个2x1的随机矢量&#xff0c;具有PDF 证明的PDF是一个随机变量。提可以因式分解成&#xff0c;其中是一个在4.5节描述的白化变换。 解答 首先&#xff1a; 因此&#xff0c;存在&#xff1a; 也就是是Hermitian矩阵。详细的性质可以参考&#xff1a; https://z…

抠图怎么抠?教你3种一看就会的抠图工具

抠图怎么抠&#xff1f;抠图&#xff0c;作为图像处理中的一项基本而强大的技能&#xff0c;广泛应用于摄影后期、广告设计、影视特效等多个领域。它能够将图像中的特定对象或区域从背景中精确分离出来&#xff0c;便于后续编辑或与其他图像合成。随着科技的发展&#xff0c;现…

大模型技术方向夏令营1期-对话分角色要素提取挑战赛

#AI夏令营 #Datawhale #夏令营 一、 baseline 跑通 Baseline 本身挑战性有限&#xff0c;关键是熟悉 LLM-centric 相关任务 coding 层面的流程方法&#xff0c;比如: 大模型 API&#xff08;这里为科大讯飞 Spark&#xff09;调用token消耗的理解如何调用大模型实现针对给定…

个人PayPal账户与企业PayPal账户:差异与选择

PayPal作为全球领先的在线支付平台&#xff0c;为不同用户群体设计了两种类型的账户&#xff1a;个人账户和企业账户&#xff0c;不仅为个人用户提供了便捷的支付和收款服务&#xff0c;同时也为企业用户提供了丰富的电子商务解决方案&#xff0c;让个人和企业都能使用便捷的电…

【Nginx】学习及相关题目整理

文章目录 1. 什么是Nginx&#xff1f;2. Nginx有哪些优点&#xff1f;3. Nginx处理请求流程&#xff1f;4. Nginx应用场景5. Nginx是如何实现高并发的&#xff1f;6. 什么是正向代理&#xff1f;7. 什么是反向代理&#xff1f;8. 反向代理服务器的优点是什么?9. Nginx目录结构…