Scikit-Learn随机森林

news2024/9/22 17:26:29

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通常对分类任务使用简单投票法,对回归任务使用

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

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

相关文章

java -- jar打包成exe -- 携带jre环境

java的项目一般都是以jar发布,很少打包为可执行程序,因此常见的打包方式也不多,且即使打包之后也需要jre环境才能运行,大部分打包都不会携带jre,需要手动添加jre。这里介绍几种我用过的打包方案。 exe4j(不推荐) jpac…

智能视频监控技术为游泳馆安全护航,助力安全管理新升级

随着社会的进步和科技的发展,视频监控技术在各行各业的应用越来越广泛。游泳馆作为公共场所,每天都会有大量的游泳者进出。在这样的环境中,有时难免会发生一些意外事故,如溺水、摔倒等。因此,视频监控建设的必要性尤为…

WWW24因果论文(3/8) |通过因果干预实现图分布外泛化

【摘要】由于图神经网络 (GNN) 通常会随着分布变化而出现性能下降,因此分布外 (OOD) 泛化在图学习中引起了越来越多的关注。挑战在于,图上的分布变化涉及节点之间错综复杂的互连,并且数据中通常不存在环境标签。在本文中,我们采用…

恭喜社区迎来新PMC成员!

恭喜Apache SeaTunnel社区又迎来一位PMC Memberliugddx!在社区持续活跃的两年间,大家经常看到这位开源爱好者出现在社区的各种活动中,为项目和社区发展添砖加瓦。如今成为项目PMC Member,意味着在社区中的责任更重了,他…

香橙派 AIpro的NPU随手记体验日记

昇腾AI 技术路线 8TOPS INT8(FP16)AI算力 LPDDR4X 8GB/16GB 📅 20240525 开放了原理图和源码,功能接口就不描述了手册都有描述,新手好好学习可以从底层覆盖到应用一个载板拿下 完成香橙派AIpro上手体验 镜像安装&am…

瓦罗兰特账号怎么注册 瓦罗兰特延迟高用什么加速器

《瓦罗兰特》(Valorant)是由拳头游戏(Riot Games)开发并发行的一款免费的多人在线第一人称射击游戏(FPS),它结合了传统的硬核射击机制与英雄角色的能力系统,为玩家提供了独特的竞技体…

【机器学习300问】103、简单的经典卷积神经网络结构设计成什么样?以LeNet-5为例说明。

一个简单的经典CNN网络结构由:输入层、卷积层、池化层、全连接层和输出层,这五种神经网络层结构组成。它最最经典的实例是LeNet-5,它最早被设计用于手写数字识别任务,包含两个卷积层、两个池化层、几个全连接层,以及最…

thingsboard接入臻识道闸

thingsboard 和tb-gateway 是通过源码idea启动测试开发 为了测试这里只是买了臻识道闸的摄像机模组方便调试,然后添加一个开关量开关模拟雷达 道闸品牌 臻识C3R3C5R5变焦500万车牌识别相机高速追逃费相机华厦V86像机 淘宝地址 https://item.taobao.com/item.htm?_us1thkikq4…

渗透攻击(思考题)

目录 1. windows登录的明文密码,存储过程是怎么样的,密文存在哪个文件下,该文件是否可以打开,并且查看到密文 2. 我们通过hashdump 抓取出 所有用户的密文,分为两个模块,为什么? 这两个模块分…

什么是GPT-4o,推荐GPT-4o的获取使用方法,使用GPT4o模型的最新方法教程(2024年5月16更新)

2024年5月最新GPT-4o模型使用教程和简介 2024年5月最新GPT-4o模型使用教程和简介 2024 年 5 月 13 日,openai 发布了最新的模型 GPT4o。 很多同学还不知道如何访问GPT-4、GPT-4 Turbo和GPT-4o等模型,这篇文章介绍如何在ChatGPT中访问GPT-4o&#xff0…

大模型时代下,数字员工演进全景图:RPA/IPA/Agent

从蒸汽机到电力,再到计算机,每一次技术的飞跃都极大地提升了企业效率。 如今,随着数字化转型的浪潮席卷全球,企业开始寻求新的解决方案来优化业务流程、打破数据屏障,达到提效降本的目的。在这一背景下,数字…

Python考试复习--day4

1.三角函数计算 import math aeval(input()) beval(input()) x(-bpow(2*a*math.sin(math.pi/3)*math.cos(math.pi/3),0.5))/(2*a) print(x) math库 2.分段函数B import math xeval(input()) if -6<x<0:yabs(x)5 elif 0<x<3:ymath.factorial(x) elif 3<x<6:y…

智慧园区:打造未来城市的新模式

随着城市化进程的加速和科技创新的推动&#xff0c;城市面临着诸多挑战和机遇。如何提升城市的竞争力和可持续性&#xff0c;是一个亟待解决的问题。在这个背景下&#xff0c;智慧园区作为一种新型的城市发展模式&#xff0c;引起了越来越多的关注和探索。 什么是智慧园区&…

黑马聚合的分类及实现

1、什么是聚合? 聚合是对文档数据的统计、分析、计算 聚合的常见种类有哪些? 桶(Bucket)聚合:用来对文档做分组 TermAggregation:按照文档字段值分组 Date Histogram:按照日期阶梯分组&#xff0c;例如一周为一组&#xff0c;或者一月为一组 度量(…

Docker 入门版

目录 1. 关于Docker 2. Dockr run命令中常见参数解读 3. Docker常见命令 4. Docker 数据卷 5. Docker本地目录挂载 6. 自定义镜像 Dockerfile 语法 自定义镜像模板 Demo 7. Docker网络 1. 关于Docker 在docker里面下载东西&#xff0c;就是相当于绿色面安装板&#x…

弘君资本:沪指跌0.46%,电力板块逆市爆发,半导体板块强势

28日&#xff0c;沪指早盘窄幅震动&#xff0c;午后回落走低&#xff1b;深证成指、创业板指大幅下探&#xff1b;两市成交额小幅萎缩。 截至收盘&#xff0c;沪指跌0.46%报3109.57点&#xff0c;深证成指跌1.23%报9391.05点&#xff0c;创业板指跌1.35%报1806.25点&#xff0c…

手搓顺序表(C语言)

目录 SeqList.h SeqList.c 头插尾插复用任意位置插入 头删尾删复用任意位置删除 SLtest.c 测试示例 顺序表优劣分析 SeqList.h //SeqList.h#pragma once#include <stdio.h> #include <assert.h> #include <stdlib.h> #define IN_CY 3typedef int S…

CyberDAO全国行第三站·西安圆满落幕

CyberDAO全国行第三站于2024年5月27日在西安顺利召开。以聚势启新&#xff0c;聚焦Web3新机遇&#xff0c;开启Web3财富密码为本次会议的思想路线&#xff0c;汇聚了大批Web3爱好者齐聚古城西安。CyberDAO致力于帮助更多Web3爱好者捕获行业价值。 以圆桌论坛《机遇拥抱Web3》拉…

matplotlib ---词云图

词云图是一种直观的方式来展示文本数据&#xff0c;可以体现出一个文本中词频的使用情况&#xff0c;有利于文本分析&#xff0c;通过词频可以抓住一篇文章的重点 本文通过处理一篇关于分析影响洋流流向的文章&#xff0c;分析影响洋流流向的主要因素都有哪些 文本在文末结尾 …

升级鸿蒙4.2新变化,新增 WLAN 网络自动连接开关!

手机已经成为现代人生活中不可或缺的一部分&#xff0c;手机里的功能可以满足大部分人的生活场景&#xff0c;但是最依赖的应该就是手机网络&#xff0c;手机网络突然变差怎么办——消息发不出去&#xff1f;刷新闻速度变慢&#xff1f;仔细检查后&#xff0c;发现其实不是手机…