DataWhale集成学习【中】:(二)Bagging

基于sklearn实现Bagging算法(python) 基于sklearn实现Bagging算法(python) 本文使用的数据类型是数值型,每一个样本6个特征表示,所用的数据如图所示: 图中A,B,C,D,E,F列表示六个特征,G表示样本标签。每一行数据即为一个样本的六个特征和标签。 实现Bagging算法的代码如下: from sklearn.ensemble import BaggingClassifier from sklearn.tree import DecisionTreeClassifier from sklearn. 阅读详情

文章目录

原理

  • 在DataWhale集成学习【中】:(一)投票法我们提到过:要想让整体模型取得更好的效果,应该增加模型之间的差异性。而增加模型之间的差异性的方法主要有两种:一是不同的数据,另一则是不同的方法
  • Bagging 方法的出发点就是不同的数据,其核心之处在于自助采样(bootstrap),即有放回的从数据集中进行采样
  • 基本流程:首先随机取出一个样本放入采样集合中,再把这个样本放回初始数据集,重复 K 次采样,则最终可以获得一个大小为 K 的样本集合。同样的方法,可以取出 T 个大小为 K 的样本集合,然后基于每个采样集合训练出一个基学习器,将这 T 个基学习器进行集成即可
  • 应用之处:Bagging 是一种降低方差的技术,因此在不剪枝决策树、神经网络等易受样本扰动的学习器上效果更加明显。在实际中,加入列采样的 Bagging 技术对高维小样本有很好的效果

案例

  • Python 的 sklearn 库中提供了 BaggingRegressor和BaggingClassifier 两种 Bagging 方法
  • 下面的案例演示的是BaggingClassifier API的应用,基模型默认为树模型
# 导入函数库
from numpy import mean,std
from sklearn.datasets import make_classification
from sklearn.model_selection import cross_val_score,RepeatedStratifiedKFold
from sklearn.ensemble import BaggingClassifier

# 加载数据集
X,y = make_classification(n_samples=1000,n_features=20
                          ,n_informative=15,n_redundant=5,random_state=911)
# 训练模型
model = BaggingClassifier()
# 评估模型
cv = RepeatedStratifiedKFold(n_splits=10,n_repeats=3,random_state=911)
n_scores = cross_val_score(model,X,y,scoring="accuracy"
                           ,cv=cv,n_jobs=-1,error_score="raise")
print("Accuracy: %.3f,标准差为 %.3f"%(mean(n_scores),std(n_scores)))

在这里插入图片描述

Datawhale集成学习-bagging的原理和案例分析 Datawhale集成学习-bagging的原理和案例分析一、决策树1.1、决策树的概述1.1.1、ID3算法:以信息增益为准则来选择最优划分属性1.1.2、C4.5算法:基于信息增益率准则选择最有分割属性的算法1.1.3、CART:以基尼系数为准则选择最优划分属性,可用于分类和回归1.2、决策树的分类1.2.1、分类树1.2.2、回归树1.3、决策树例子二、bagging的原理分析2.1、bootstrap的概念2.2、Bagging的基本流程三、随机森林3.1、随机森林的概述3.2、算法流程3.3、袋外 阅读详情

相关推荐

Seurat3.0小提琴图腰围的参数

小提琴图没有有些群没有出现小提琴只有点点,是由于0值比例太多, 一个关键的参数scale = "width"导致了这种局面,应加上上述参数 ggplot(p$data,aes(ident,CD4)) + geom_violin(scale = "width", adjust =1, trim = TRUE) + geom_jitter()+ theme_bw() adjust参数可以调整腰的粗细,eg: ggplot(p$data,aes(ident,CD4)) + geom_violin(scale

Demomwu的博客 1661

bagging和boosting(python代码实现)

分类算法很多,有的效果比较好,有的效果稍微差点。 这里还有一种“新”分类算法,就是把多个分类器组合成一个分类器,主要有bagging 和boosting两种。 bagging算法:从原始数据中随机抽取n个样本,重复s次,于是就有个s个训练集,每个训练集都可以训练出一个分类器,最终生成s个分类器,预测结果将有这些分类器投票决定(选择分类器投票结果中最多的类别作为最后预测结果)。代表的有随机森林。

程松 1万+

激光可燃气体传感器DIY指南:从TDLAS原理到STM32实战(附代码)

本文详细介绍了如何DIY激光可燃气体传感器,从TDLAS原理到STM32实战,包括硬件选型、光路搭建、电子系统设计和嵌入式软件开发。通过TDLAS技术实现高灵敏度甲烷检测,适合工业安全和环境监测应用。附有完整代码和实用调试技巧,帮助开发者快速掌握光学气体检测技术。

fanta的博客 440

《机器学习》 小白Python学习笔记(十三) ———— 集成学习 课后题8.3&8.5 Python实现

《机器学习》 小白Python学习笔记(十三) ———— 集成学习 课后题8.3&8.5 Python实现 8.3从网上下载或自己编程实现AdaBoost,以不剪枝决策树为基学习器,在西瓜数据集3.0a上训练一个AdaBoost集成,并与图8.4进行比较。 8.5试编程实现Bagging,以决策树桩为基学习器,在西瓜数据集3.0a上训练一个Bagging集成,并与图8.6进行比较。 自己手动编写的代码还没有写好(后补),先利用scikit-learn库对西瓜数据集3.0a进行bagging和bo

River_J777的博客 1230

Python实战:5分钟搞定N-CMAPSS航空发动机数据集解析(附完整代码)

本文提供了一份针对N-CMAPSS航空发动机数据集的快速解析实战指南。通过Python的h5py和Pandas库,详细演示了如何高效读取HDF5格式文件、理解数据结构、提取关键特征(如传感器数据与剩余使用寿命RUL),并整合为可用于预测性维护分析的DataFrame,帮助研究者和工程师快速上手这一重要的工业时序数据集。

weixin_29083373的博客 279

【UE5.3 Cesium for Unreal】GlobePawn编译实战:从源码修改到功能实现

本文详细介绍了在UE5.3中为Cesium for Unreal插件编译和集成非官方增强组件GlobePawn的完整实战流程。从获取源码、准备资产文件、部署项目结构,到逐行修改代码适配工程并解决典型编译错误,最终实现在三维地球上实现类似Google Earth的丝滑鼠标交互体验。

weixin_29011667的博客 307

机器学习算法--python实现套袋

套袋被称为引导聚合,即并没有使用相同的训练集来拟合组合中的各个分类器,而是从初始训练集中抽取自举样本(随机可替换样本) 随机森林是套袋方法的一个特例,在随机森林方法中,我们在 拟合每个决策树的时候也用到随机抽取的特征子集。 import pandas as pd import numpy as np from sklearn.model_selection import train_test_split from sklearn.preprocessing import LabelEncoder from

糯米君的博客 525

【数字图像相关-OpenCorr学习笔记】Epipolar search原理+代码解析

OpenCorr是一个开源C++库,用于研究和开发数字图像相关(DIC)技术它提供了2D和立体声DIC的全功能模块,以及数字体积相关(DVC)。最近正在学习OpenCorr,为了更深层次地理解ICGN,我打算浅浅剖析Opencorr的代码,学习的过程中写下这篇学习笔记,以后忘记了还能回来看看。同时,作为一名在读研究生,希望能得到社区大佬的指点,以及跟同学们一起学习进步。这一期主要讲解Eipipolar search的原理,并且附上部分代码解析。

ywyywyy的博客 1356

(八)集成学习Bagging之随机森林知识点汇总与python实现

知识点: 随机森林是bagging的一个特化进阶版 特化是指:随机森林的弱学习器都是决策树 进阶是指:在bagging样本随机采样的基础上,又加上了特征的随机选择 Bagging是一种有放回的重复抽样方法,各学习器之间没有依赖关系,可以并行生成 Boosting各个学习器之间是串联的关系,每一轮的训练集不变,改变的是样本的权重 Bagging+决策树=随机森林 AdaBoost+决策树=提升树 Gradient+Boosting+决策树=GBDT 随机森林的构造过程:行采样和列采样 行.

twlve的博客 4500

手把手教你用HiNet实现图像隐藏:可逆神经网络实战指南(附代码)

本文提供了一份基于HiNet框架实现图像隐藏的实战指南。通过详细解析可逆神经网络原理,手把手指导环境搭建、模型构建、损失函数设计及训练流程,并附有完整代码。该方法利用单个可逆网络统一隐藏与恢复过程,结合小波变换提升隐蔽性,为信息隐藏应用提供了高效解决方案。

rgv234567的博客 433

Python开发MCP Client

全部例子只是MCP Client访问MCP Server的过程,那么这样其实就失去了MCP协议的创建的初衷,和大模型集成后才能发挥MCP最大的作用。

Criss@陈磊 2973

Datawhale 集成学习 Task02:集成学习之投票法与bagging

投票法的思路 投票法是集成学习中常用的技巧,可以帮助我们提高模型的泛化能力,减少模型的错误率。举个例子,在航空航天领域,每个零件发出的电信号都对航空器的成功发射起到重要作用。如果我们有一个二进制形式的信号: 11101100100111001011011011011 在传输过程中第二位发生了翻转 10101100100111001011011011011 这导致的结果可能是致命的。一个常用的纠错方法是重复多次发送数据,并以少数服从多数的方法确定正确的传输数据。一般情况下,错误总是发生在局部,因此融合多个数据

Andrew_zjc的博客 619

RT-DETR升级:TGRS2026 CKConv结合RepC3 | 方向特征与跨阶段融合协同,小目标漏检率大幅下降

小目标鲁棒性提升:CKConv方向选择性抑制背景噪声,RepC3跨阶段传递保留深层微弱热信号,显著改善低对比度、低信噪比场景下的检测精度。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 151

Datawhale组队学习之集成学习——Task5 Bagging

Datawhale组队学习之集成学习——Task5 Bagging目录一、投票法1、投票法的原理2、投票法的案例分析二、bagging1、bagging的原理2、bagging的案例分析三、作业参考 目录 一、投票法 投票法是集成学习中常用的技巧,可以帮助我们提高模型的泛化能力,减少模型的错误率。 1、投票法的原理   投票法是一种遵循少数服从多数原则的集成学习模型,通过多个模型的集成降低方差,从而提高模型的鲁棒性。在理想情况下,投票法的预测效果应当优于任何一个基模型的预测效果。   投票法在回归模型与分类

Codewith_jing的博客 354

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Datawhale集成学习:Bagging的原理和案例分析

bagging (Bootstrap Aggregating) 的原理分析 bagging的核心在于 自助采样(bootstrap) 这一概念,即有放回的从数据集中进行采样。 这样做的好处在于能够降低数据的方差。 举例是说:我们随机取出一个样本放入采样集合中,再把这个样本放回初始数据集,重复K次采样,最终我们可以获得一个大小为K的样本集合。同样的方法, 我们可以采样出T个含K个样本的采样集合,然后基于每个采样集合训练出一个基学习器,再将这些基学习器进行结合,这就是Bagging的基本流程。 回归问题中:是通

weixin_41221544的博客 1070

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Datawhale集成学习:bagging

引用自:Datawhale bagging的思路 与投票法不同的是,Bagging不仅仅集成模型最后的预测结果,同时采用一定策略来影响基模型训练,保证基模型可以服从一定的假设。在上一章中我们提到,希望各个模型之间具有较大的差异性,而在实际操作中的模型却往往是同质的,因此一个简单的思路是通过不同的采样增加模型的差异性。 bagging的原理分析 Bagging的核心在于自助采样(bootstrap)这一概念,即有放回的从数据集中进行采样,也就是说,同样的一个样本可能被多次进行采样。一个自助采样的小例子是我们希

JeffDing 184

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Datawhale集成学习学习笔记——Task05Bagging

Bagging投票法Bagging随机森林作业参考 投票法 定义: 一种遵循少数服从多数原则的集成学习模型, 作用: 提高模型的泛化能力, 减少模型的错误率 通过多个模型的集成降低方差, 从而提高模型的鲁棒性 在理想情况下, 投票法的预测效果应当优于任何一个基模型的预测效果 基本思路 回归模型: 预测结果是所有模型预测结果的平均值 分类模型 硬投票法: 预测结果是所有投票结果最多出现的类 软投票法: 预测结果是所有投票结果中概率加和最大的类 相对于硬投票,软投票法考虑到了预测概率这一额外

weixin_41955255的博客 291

DataWhale集成学习Task8--Bagging的原理和案例分析

文章目录bagging法的思路bagging原理分析bagging实战案例Bagging的补充知识Bagging的优点Bagging的缺点Bagging分类简单应用Bagging回归简单应用 bagging法的思路 上一节提到了投票法,它通过多个模型的集成来降低方差,提高模型的鲁棒性;而bagging和投票法不一样的地方在于Bagging不仅仅集成模型最后的预测结果,同时采用一定策略来影响基模型训练,保证基模型可以服从一定的假设。在上一章中我们提到,希望各个模型之间具有较大的差异性,而在实际操作中的模型却往

程序猿请来的救兵 468

Datawhale开源教程学习——集成学习(task5 Bagging)

目录Task05 BaggingQ1:什么是bootstraps?Q2:bootstraps和bagging的联系。Q3:什么是bagging? Task05 Bagging 集成学习(模型融合中的一个分类)主要包括: Bagging Boosting Stacking Bagging由booststraps演变而来; Boosting类似叠加式算法; Stacking把模型分为模型一和模型二,把模型一的结果当做特征送入模型二做训练。 目的都是将弱分类器变成强分类器。 Q1:什么是bootstraps?

inveriel 279

Datawhale 集成学习 Task08:Bagging的原理和案例分析

关于bagging,这是一种集成学习的方法,它的老对手是boosting。他俩有个原始的祖宗是投票法(因为投票法最好想到也最好理解)。我经常把他俩弄混,主要是这两个英文单词总是让我浮想联翩。今天来捋一捋,表达了两种先进的集成学习思路,bagging一条是大家一起干活大佬随机翻牌翻到谁“叼”谁,boosting还有一条是大家流水线干活大佬在线旁边“叼”人。明显前者适合并行。 本次学习bagging的主要代码为以下, import numpy as np from sklearn import datasets

Andrew_zjc的博客 326

Datawhale 202104 集成学习(中)| 投票法与bagging

集成学习之投票法与bagging投票法简介分类(投票可以用于分类和回归模型中):分类模型的投票可分为:投票法中注意点:投票法基础案例分析(基于sklean pipe管道的使用以及voting的使用)硬投票法(学习教程baseline)软投票法案例 投票法简介 痛点: 算法得出的单一结果可能存在偏差,因此融合多个数据是降低误差的一个好方法,这就是投票法的基本思路。 分类(投票可以用于分类和回归模型中): 按模型类型可分为: 回归投票法:输出为所有结果的加权(平均)值; 分类投票法:输出出现最多的结果;

Hoo的学习记录 352

集成学习学习总结

目录心得体会一、思维导图1、数学基础2、回归问题3、分类问题4、集成学习5、Bagging6、Boosting7、Stacking二、辨析集成学习三种模型 心得体会 参加了开源学习组织datawhale的组队学习,圆满完成集成学习的任务,也带领组员一起坚持了下来,真正领略到机器学习的魅力,写这篇csdn总结一下我所学到的知识,以便后续巩固学习。 在这里谈一下我的感悟:在集成学习的学习中,第一次实践了相关的完整案例,解决给出的实际问题,带入到情景中处理数据,利用集成学习的模型与方法得出预测的相关结论。一

啧啧怪的博客 1187

DataWhale集成学习笔记(七)Bagging与随机森林

Bagging1 Bagging原理1.1 自助采样法(bootstrap sampling)1.2 Bagging原理分析2 代码实践 1 Bagging原理 1.1 自助采样法(bootstrap sampling) 给定包含mmm个样本的数据集DDD,我们对其进行采样产生数据集D′D'D′:每次随机从数据集DDD中挑选一个样本,将其拷贝放进D′D'D′中,然后再将该样本放回初始数据集DDD中,使得该样本下次仍然可以被采样到;这一过程重复nnn次,就能得到一个包含nnn个样本的的数据集D′D'D′;初始

快乐星球小怪兽的博客 423

Datawhale-集成学习-学习笔记Day2-bagging

Datawhale-集成学习-学习笔记Day2-baggingbagging为什么bagging可以降低方差案例实现 bagging 与投票法类似,bagging也将所有及模型的结果统一在一起,来当作模型最终的结果。但是bagging在投票法的基础上又更前进了一步,采用了一定的策略来影响基模型的训练,从而进一步降低模型的方差。 在投票法中我们说过,我们希望各个模型之间会有较大的差异性,来获取更好的结果。但是在实际操作中,我们使用的模型往往是同质的。所以,在bagging我们使用不同的采样方法来增加模型的差异

PingYiWeiLiang的博客 284

集成学习-Bagging与随机森林(DataWhale第二期)

1、bootstraps是一种将线性回归参数 B^,通过多次求解后再进行求方差得出的,过程称为自助采样。 2、Bagging是由 Bootstraps 演化而来的 3、Bagging的核心在于自助采样(bootstrap)这一概念,即有放回的从数据集中进行采样,也就是说,同样的一个样本可能被多次进行采样。一个自助采样的小例子是我们希望估计全国所有人口年龄的平均值,那么我们可以在全国所有人口中随机抽取不同的集合(这些集合可能存在交集),计算每个集合的平均值,然后将所有平均值的均值作为估计值。 4、Bagg..

m0_57446978的博客 187

Day08-集成学习-机器学习-Bagging(DataWhale)

二、Bagging Bagging不仅集成模型最后的预测结果,同时采用一定策略来影响基模型训练,保证基模型服从一定的假设。通过不同的采样增加模型的差异性 2.1 原理 核心:自助采样bootstrap,有放回的从数据集中进行采样。基于每个样本训练一个基学习器,再将所有的基学习器结合 回归问题预测:通过预测取平均值 分类问题预测:通过预测取多数票预测 Bagging是一种降低方差的技术,在不剪枝决策树、神经网络等易受样本扰动的学习器上效果更明显 实际应用中,加入列采样的Bagging技术对高维小样本更显著

liying_tt的博客 289
上一篇: DataWhale集成学习【中】:(一)投票法
下一篇: DataWhale集成学习【中】:(三)Boosting
April_0911
博客等级 码龄10年 1404粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值