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

本文来自《老饼讲解-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.mfbz.cn/a/767125.html

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

相关文章

1、线性回归模型

1、主要解决问题类型 1.1 预测分析(Prediction) 线性回归可以用来预测一个变量(通常称为因变量或响应变量)的值,基于一个或多个输入变量(自变量或预测变量)。例如,根据房屋的面积、位置等因素预测房价。 1.2 异常检测(Outlier Detection) 线性回归可以帮助识别数…

鸿蒙应用开发-时间屏幕

点击下载源码: https://download.csdn.net/download/liuhaikang/89509449 做一个时间屏幕,可以点击切换白色和黑色,有渐变效果,使用到了鸿蒙的动画效果。 在这个设计中,我们首先引入了通用能力包,以实现功…

将一个立方体对象的值赋给另一个立方体对象

如果对一个类定义了两个或多个对象,则这些同类的对象之间可以互相赋值,或者说,一个对象的值可以赋给另一个同类的对象。这里所指的对象的值是指对象中所有数据成员的值。 对象之间的赋值也是通过赋值运算符""进行的。本来&…

MYSQL substring_index

1.substring_index( 参数1,参数2 ,参数3 ) 2.group by 也可以用我们起的别名来划分,以及起别名可以不用as SELECT IF(profile LIKE %female,female,male) gender,COUNT(*) number FROM user_submitGROUP BY gender; 3.切割、截取、删除、替换 select -- 替换法 r…

logback log.info耗时异常,RollingFileAppender+TimeBasedRollingPolicy配置踩坑

我喜欢把核心内容放开头 此次log.info耗时异常升高,是由于日志量过大(5G甚至以上),并且使用同步阻塞的RollingFileAppenderTimeBasedRollingPolicy,导致log.info一直等待日志文件滚动,造成了异常。解决方式…

innovus:timing报告的精度如何设置

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 innovus设置timing报告精度常用方法: set_global report_precision 6 report_timing,report_net,report_cell_instance_timing,report_cloc…

记录前端发现问题之 mock接口无返回数据导致所有后续接口调用报错:网络异常

1. 背景 就更新了代码,发现新涉及的页面,切换tab 之后会报错网络异常,再次切换其他没涉及的功能页面,继续报错网络异常 测试环境:纯前端代码,后端是前端mock的数据,仅供demo 2. 问题报错 手动…

如何构建智能聊天系统

聊天分为听、思考、读,简单的通过ASR、LLM、TTS三类模型的组合可以实现,最近openai推出支持多模态的GPT-4o模型,可以把三个模型真正融合成在一起。 现在市面上的模型百花齐放,各有所长。要实现可落地的方案,需要结合业…

ffmpeg在powershell和ubuntu终端下的不同格式

在win10下的powershell中,如果想运行一个exe文件,就不能再像cmd命令行一样用名字来直接运行了,否则会提示格式不对。 正确的做法是: . \ffmpeg.exe -re -i video-test.mpr -rtsp_transport tcp -vcodec h264 -f rtsp rtsp://您的…

模拟算法系列|替换所有的问号|提莫攻击|种花问题|Z字形变换|兼具大小写的英文字母|删除字符使频率相同

大家好,我是LvZi,今天带来模拟算法系列|替换所有的问号|提莫攻击|种花问题|Z字形变换|兼具大小写的英文字母|删除字符使频率相同 一.基本概念 模拟算法就是根据题意 模拟出代码的过程,模拟算法的题意往往都很简单,考验的是将思路转化为代码的能力,十分的锻炼代码能力,且能很好…

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

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

信创测试与性能测试的差别是什么?

信创测试和性能测试在多个方面存在显著的区别。 首先,信创测试是一个更为全面和系统的测试过程,它主要针对信创工程项目中的产品、系统等进行测试和验证,以确保其自主可控和满足性能要求。这包括适配测试、功能测试、性能测试、安全测试、兼…

Spring Boot集成geode快速入门Demo

1.什么是geode? Apache Geode 是一个数据管理平台,可在广泛分布的云架构中提供对数据密集型应用程序的实时、一致的访问。Geode 跨多个进程汇集内存、CPU、网络资源和可选的本地磁盘,以管理应用程序对象和行为。它使用动态复制和数据分区技术…

【postgresql】索引

见的索引类型: B-tree 索引:这是最常用的索引类型,适用于大多数查询。B-tree索引可以高效地处理范围查询。 Hash 索引:适用于等值查询,但不支持范围查询。 GiST 索引:通用搜索树(GiST&#xf…

Django学习第二天

启动项目命令 python manage.py runserver 动态获取当前时间 javascript实现数据动态更新代码 <script>setInterval(function() {var currentTimeElement document.getElementById(current-time);var currentTime new Date();currentTimeElement.textContent Curren…

基于Java废物回收机构管理系统详细设计和实现(源码+LW+调试文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f; 感兴趣的可以先收藏起来&#xff0c;…

基于康养大模型和健康设备平台的智能蓝牙语音合成芯片VTX326

AI健康监护智能体是基于康养大模型和**智能语音芯片技术的健康设备平台&#xff0c;**旨在应对我国日益严峻的老龄化挑战。当前&#xff0c;中国总人口约为14.12亿&#xff0c;其中60周岁及以上老年人口占比19.8%&#xff0c;65周岁及以上老年人口占比14.9%&#xff0c;且老年人…

苹果p12证书最简单最新申请流程

使用uniapp打包&#xff0c;在ios上打正式包需要苹果的p12证书和证书profile文件&#xff0c;点进去uniapp的ios证书申请教程&#xff0c;通篇就是使用mac电脑申请的教程&#xff0c;假如没有mac电脑就无法继续了。 因此&#xff0c;假如没有mac电脑的同志们&#xff0c;可以参…

MATLAB—— 流程语句(1)

一、if elseif else end 语句 例子 x 88; % x表示成绩 if x>90 && x < 100 dj 1; % 等级为1级 elseif x>80 && x < 90 dj 2; % 等级为2级 elseif x>60 && x < 80 dj 3; % 等级为…

第4章 第一个程序

第4章 第一个程序 4.1 一个源程序从写出到执行的过程 第一步&#xff1a;编写汇编程序第二步&#xff1a;对源程序进行编译连接第三步&#xff1a;执行可执行文件中的程序 4.2.源程序 汇编语言中包含两种指令&#xff1a;汇编指令 和 伪指令 汇编指令&#xff1a;有对应机器…