6.0 —随机森林原理(RF)和集成学习(Bagging和Pasting)

2024-08-30 07:38

本文主要是介绍6.0 —随机森林原理(RF)和集成学习(Bagging和Pasting),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我们这边先介绍集成学习

什么是集成学习

我们已经学习了很多机器学习的算法。比如KNN,SVM.逻辑回归,线性回归,贝叶斯,神经网络等等,而我们的集成学习就是针对某一个问题,我们使用多个我们已经学过的算法,每个算法都会得出一个结果。然后采用投票的方法,少数服从多数,得出最终结果。这就是voting classifier

我们看下代码:

我们手写的集成学习方法,和scikit-learn 中的集成学习方法,最终得到的结果是一样的

我们可以注意到,在scikit-learn中,我们有个参数叫voting = ‘hard’

其实这个参数代表的就是我们使用投票的方法做预测。我们称之为 hard voting classifier

当然有hard,同样有soft voting classifier:

 

我们想一下,我们在做投票的时候,不同的角色投的票应该加上权值,简单的说术业有专攻,专业人对相应专业的问题的回答的权重应当是要高一点的。

给投票加上权值,就是我们说的soft voting classifier

用图来表示下:

所以,基于我们的soft voting,就要求我们的每一个模型都要能估算概率

但是,这里还有一个问题就是就算我们的模型有几个,但是对我们投票的机制来说,数量还是太小了。

所以我们考虑将我们在我们的样本数据中本次拿出一部分数据出来作为训练集。

比如,500个样本数据每次拿出100个,

拿样本数据有2种,一种就是不放回取样,称为pasting

一种是放回取样,称为bagging,bagging会更常用。统计学中也叫bootstrap

如果我们的样本数量减少了,每个模型的准确率肯定会随之下降,

但是,如果我们模型足够多的,准确率可能会比但是模型训练更高。

我们来看下

当然,我们不可能每个模型都这么高达60%准确率,但是得出来的结果还是很好的、

关于参数的学习可以自学

如果我们在取样中没有取到一些数据,我们直接拿这些数据用来当我们的测试集。

有个oob_score_属性可以直接取到

 

随机森林:

看图中,结合我们刚才说的集成学习。

使用决策树作为我们的基本算法,采用bagging的取样方式,进行集成学习就叫做随机森林

 

还有一种extra tree

 

其他的等下次有时间再写了。还有关于boosting,stacking之类的

 

这篇关于6.0 —随机森林原理(RF)和集成学习(Bagging和Pasting)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1120194

相关文章

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意

Nacos注册中心和配置中心的底层原理全面解读

《Nacos注册中心和配置中心的底层原理全面解读》:本文主要介绍Nacos注册中心和配置中心的底层原理的全面解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录临时实例和永久实例为什么 Nacos 要将服务实例分为临时实例和永久实例?1.x 版本和2.x版本的区别

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

apache的commons-pool2原理与使用实践记录

《apache的commons-pool2原理与使用实践记录》ApacheCommonsPool2是一个高效的对象池化框架,通过复用昂贵资源(如数据库连接、线程、网络连接)优化系统性能,这篇文章主... 目录一、核心原理与组件二、使用步骤详解(以数据库连接池为例)三、高级配置与优化四、典型应用场景五、注意事

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

Java集成Onlyoffice的示例代码及场景分析

《Java集成Onlyoffice的示例代码及场景分析》:本文主要介绍Java集成Onlyoffice的示例代码及场景分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 需求场景:实现文档的在线编辑,团队协作总结:两个接口 + 前端页面 + 配置项接口1:一个接口,将o