Scikit-Learn随机森林

Scikit-Learn随机森林

    • 1、随机森林
      • 1.1、集成学习
      • 1.2、Bagging方法
      • 1.3、随机森林算法
      • 1.4、随机森林的优缺点
    • 2、Scikit-Learn随机森林回归
      • 2.1、Scikit-Learn随机森林回归API
      • 2.2、随机森林回归实践(加州房价预测)




1、随机森林


随机森林是一种由决策树构成的集成算法,它在大多情况下都能有不错的表现。随机森林既可用于回归也可用于分类。随机森林回归在机器学习知识结构中的位置如下:

1.1、集成学习


随机森林是一种由决策树构成的(并行)集成算法,属于Bagging类型,随机森林通过组合多个弱分类器,最终结果通过投票或取均值,使得整体模型的结果具有较高的精确度和泛化性能,同时也有很好的稳定性,因此广泛应用在各种业务场景中

随机森林有如此优良的表现,主要归功于随机和森林。顾名思义,随机森林是一个比喻,它由若干决策树构成,每棵决策树都是其基本单元。至于随机,只是一个数学抽样概念。随机使它具有抗过拟合能力,森林使它更加精准

随机森林的基本思想在于集思广益,集中群众的智慧,广泛吸收有益的意见。这往往可以得到更好的解决方案。集思广益在机器学习中对应一个关键概念——集成学习

集成学习(Ensemble Learning)通过训练学习多个个体学习器,当预测时通过结合策略将多个个体学习器的结果组合作为最终强学习器的结果输出

对于训练数据集,我们训练一系列个体学习器,再通过结合策略将它们集成起来,形成一个更强的学习器,这就是集成学习所做的事情

在这里插入图片描述
其中,个体学习器是相对于集成学习来说的,其实我们在之前了解到的很多模型,例如决策树算法、朴素贝叶斯算法等,都是个体学习器

而集成可以分为同质集成和异质集成:

  • 同质集成:只包含同种类型的个体学习器,个体学习器称作基学习器。例如随机森林中全是决策树集成
  • 异质集成:包含不同类型的个体学习器,个体学习器称作组件学习器。例如同时包含决策树和神经网络进行集成

个体学习器代表的是单个学习器,集成学习代表的是多个学习器的结合

集成学习的核心问题有两个:

  • 使用什么样的个体学习器?
    • 准确性:个体学习器不能太弱,需要有一定的准确性
    • 多样性:个体学习器之间要存在差异性,即具有多样性
  • 如何选择合适的结合策略构建强学习器?
    • 并行组合方式:例如随机森林
    • 传统组合方式:例如Boosting树模型

1.2、Bagging方法


这里我们只讲随机森林的并行集成模型,而Bagging是并行式集成学习方法最著名的代表

Bagging方法全称为自助聚集(Bootstrap Aggregating),顾名思义,Bagging由Bootstrap与Aggregating两部分组成

要理解Bagging,首先要了解自助采样法(Bootstrap Sampling)

在这里插入图片描述
自助采样的过程为

  • 给定包含m个样本的数据集,先随机取出一个样本放入采样集中,再把该样本放回初始数据集,使得下次采样时该样本仍有可能被选中
  • 重复上述过程m轮,得到包含m个样本的采样集,初始数据集中有的样本在采样集中多次出现,有的则从未出现
  • 假设约63.2%的样本出现在采样集中,而未出现的约36.8%的样本可用作验证集来对后续的泛化性能进行包外估计

Bagging方法是在自助采样基础上构建的,上述的采样过程我们可以重复T次,采样出T个包含m个样本的采样集,然后基于每个采样集训练出一个基学习器,然后将这些基学习器进行结合

在对预测输出进行结合时,Bagging通常对分类任务使用简单投票法,对回归任务使用

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

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

相关文章

香橙派 AiPro通过Micro USB接口进行串口调试

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、配置步骤1.安装CH343驱动2.配置串口参数 二、使用步骤总结 前言 最近在玩一个新玩具香橙派 AiPro,除了通过SSH方式连接开发板以外,…

Llama模型家族训练奖励模型Reward Model技术及代码实战(二)从用户反馈构建比较数据集

LlaMA 3 系列博客 基于 LlaMA 3 LangGraph 在windows本地部署大模型 (一) 基于 LlaMA 3 LangGraph 在windows本地部署大模型 (二) 基于 LlaMA 3 LangGraph 在windows本地部署大模型 (三) 基于 LlaMA…

设计模式:外观模式 导诊台。空指针异常

文章目录 UML类图目录结构思路Register.javaOutpatientService.javaPrice.javaPharmacy.javaFacade.java空指针异常 Test.java UML类图 目录结构 思路 照着写,然后getRegister()方法的具体实现就是:打印一句话,然后到…

服务器端口查询:一项至关重要的网络管理任务

在网络管理和系统维护中,服务器端口查询是一项至关重要的任务。服务器端口是网络通信的入口点,它们允许各种服务和应用程序在网络上进行交互。因此,准确而有效地查询服务器端口的状态和配置对于确保网络的安全性和稳定性至关重要。 首先&…

floodfill 算法(上)

目录 图像渲染 题意: 题解: 非递归: 递归: 岛屿数量 题解: 非递归: 递归: 岛屿的最大面积 题解: 非递归: 递归: 被围绕的区域 题解&#xff1a…

10G SFP双口万兆以太网控制器,高速光口网络接口卡

2-Port 10G SFP NIC 是一款高速网 络接口卡,采用了 PCI Express 3.0 x8 接口,支持双 端口万兆以太网,具有高性能、高可靠性、低功耗等 优点,是数据中心、云计算、虚拟化等领域的理想选 择。 支持多种网络协议,如 …

爱岗敬业短视频:成都科成博通文化传媒公司

爱岗敬业短视频:传递正能量,塑造职场新风尚 在当今社会,短视频以其独特的传播方式和广泛的受众群体,成为了信息传播的重要渠道。在众多短视频内容中,以“爱岗敬业”为主题的短视频尤为引人注目,成都科成博…

云衔科技:为什么推荐使用zoho crm客户管理系统?

在当今快速变化的商业环境中,企业对高效、智能化的客户关系管理(CRM)系统的需求日益增长。Zoho CRM,作为全球领先的企业级CRM解决方案提供商,凭借其全面的功能、高度的可定制性、以及无缝集成的生态系统,成…

无人机河道巡查方案,智能巡检助力水域监管革新

无人机技术的飞速发展为河道监管工作带来了创新的解决方案。无人机河道巡查以其高效、精准、智能的特点,正在逐步替代传统河道巡检方式,为水域管理提供了强有力的技术支持。 一、自主巡逻,提升河道监管效率 无人机河道巡查搭载先进的控制装置…

AI图书推荐:终极ChatGPT企业手册—借助Python和Java实现

《终极ChatGPT企业手册—借助Python和Java实现》(Ultimate ChatGPT Handbook for Enterprises)是一本关于ChatGPT的手册,旨在帮助企业利用AI能力、提示工程和ChatGPT的解决方案循环来改变企业景观。这本书提供了深入探讨ChatGPT的演变、能力以…

牛客NC362 字典序排列【中等 DFS Java/Go/PHP】

题目 题目链接: https://www.nowcoder.com/practice/de49cf70277048518314fbdcaba9b42c 解题方法 DFS,剪枝Java代码 import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回…

深入了解 CSS 预处理器 Sass

今天我们来深入探讨一下 CSS 预处理器 Sass。我们将学习什么是 Sass,如何使用它,以及它是如何工作的。 什么是 Sass? Sass 是 syntactically awesome style sheets 的缩写,是一种 CSS 预处理器。它是 CSS 的扩展,为基础 CSS 增加了更多的功能和优雅。普通的 CSS 代码很容…

BUG: VS Code C++输出中文乱码

BUG: VS Code C输出中文乱码 环境 Windows 11 VS Code 编辑器详情 在Windows 使用 cout 函数输出中文时出现乱码 问题的原因在cmd的显示编码和c程序编码的不同。cmd默认的是gbk编码,而VS Code 软件的CMD终端默认是utf-8编码,因而在输出中文文本时会出…

蓝桥杯嵌入式国赛笔记(4):多路AD采集

1、前言 蓝桥杯的国赛会遇到多路AD采集的情况,这时候之前的单路采集的方式就不可用了,下面介绍两种多路采集的方式。 以第13届国赛为例 2、方法一(配置通道) 2.1 使用CubeMx配置 设置IN13与IN17为Single-ended 在Parameter S…

XDebug配置几件教程,phpstorm实现http请求断点调试

写这篇的文章的初衷:网络上配置XDebug的文章有很多,XDebug也有官方的文档, PhpStorm也有官方的文档,为什么还要写那? 相信不少人,都有一种感觉,虽然教程很多,但是按教程走一遍,自己的确不能正常调试。 问题出在下面几个方面: 1. 对调试过程中,没有一定的认识,因此…

网络、HTTP、HTTPS、Session、Cookie、UDP、TCP

OSI 七层模型 应用层、表示层、会话层、传输层、网络层、数据链路层、物理层 TCP/IP 五层模型 应用层:为用户的应用进程提供网络通信服务(协议:域名系统DNS协议,HTTP协议,SMTP协议)传输层:负…

骨折检测数据集VOC+YOLO格式717张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):717 标注数量(xml文件个数):717 标注数量(txt文件个数):717 标注类别…

前端面试:项目细节重难点问题分享

面试官提问:我现在给你出一个项目实际遇到的问题:由于后端比较忙,所以我们这边的列表数据排序需要前端最近实现,那你会怎么实现排序呢? 答:我的回答:确实,数据都是由后端实现的&…

Jenkins的Pipeline流水线

目录 前言 流水线概念 什么是流水线 Jenkins流水线 pipeline node stage step 创建一个简单的流水线 创建Pipeline项目 选择模板 测试 前言 提到 CI 工具,首先想到的就是“CI 界”的大佬——Jenkjns,虽然在云原生爆发的年代,蹦出来了很多云原生的 CI 工具…

最简单的方式解决android studio 模拟器无法联网的问题

最简单的方式解决android studio 模拟器无法联网的问题 看了网上很多解决android studio内置模拟器无法联网的问题,基本上都是在模拟器手机上配置dns,个人试了多种办法也连不上网,现在给出一种,仅需要在命令行操作的解决安卓模拟…