【ML】_08_Bagging(集成学习分支1)

本文深入解析Bagging算法原理,探讨其如何通过自助聚合减少偏差,避免过拟合。进一步讲解RandomForest(随机森林)的创新之处,即如何通过随机选择训练样本和特征子集,构建多个弱相关决策树,从而提高模型的泛化能力和稳定性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


 


 

【一】 Bagging(算法的一个流派,自助聚合)

 

【有监督】现在常用的,也最需要掌握的,分类算法

Leverage unstable base learners that are weak because of overfitting,每个弱分类器都是 overfitting (过拟合)

 

  • 提出背景:为了减少 bias,我们可以学习一棵很大很深的 决策树,但是决策树很容易 过拟合;而随机划分数据来训练模型,过拟合的决策树产生不一样的预测结果,variance 很大
  • 特点:各个弱学习器之间 没有 依赖关系
  • 随机采样(bootsrap):从我们的训练集里面采集固定个数的样本,但是每采集一个样本后,都将样本放回。也就是说,之前采集到的样本在放回后有可能继续被采集到。对于我们的 Bagging 算法,一般会随机采集和训练集样本数 m 一样个数的样本。这样得到的采样集和训练集样本的个数相同,但是样本内容不同。如果我们对有 m 个样本训练集做 T 次的随机采样,则由于随机性,T个采样集各不相同
  • m 趋于无穷大时,在 bagging 的每轮 随机采样 中,训练集中大约有 36.8% 的数据没有被采样集采集中
  • But,有个问题

 


 

【二】 Random Forest(随机森林)
  • 随机选择 训练样本子集 & 特征子集
  • 提出目的:我们希望每一棵树模型都不一样,存在差异,弱相关
  • RF 使用了 CART 决策树 作为弱学习器,GBDT(梯度提升决策树)也是
  • RF 随机选择节点上的 一部分 样本特征(从 N 个中选 K 个),然后从中选择 一个最优 的特征来做决策树的左右子树划分 - 增强模型的 泛化能力
  • K 越小,模型越健壮,但对于训练集的拟合程度会变差(模型的 方差 减小,偏倚 增大)

 


 

【三】 RF 代码使用(Sklearn)

 

from sklearn.ensemble import RandomForestClassifier
'''
:param (参数) 
n_estimators:指定随即森林中树的个数
'''
rf = RandomForestClassifier(n_estimators=20)
'''
:object (方法)
rf.fit(X,y): LR 是有监督的机器学习算法
rf.predict(X): 返回数据 X 预测的类别
'''
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值