关于Boosting算法理解

博客探讨了Boosting算法的核心思想,强调了如何通过调整数据权重和组合弱分类器来构建强分类器。介绍了Adaboost算法的原理,包括权重调整和多数表决的结合,并分享了一个使用sklearn实现Adaboost的例子,展示了其在红酒数据集上的应用。此外,还提到了Adaboost的优缺点。最后,简要提及了梯度提升决策树(GBDT)的两种类型及其在回归和分类中的应用。
摘要由CSDN通过智能技术生成

对于boosting算法,我的理解是集成各种弱分类器,对每个分类器中被分错的样本中去添加更大的权重,给予分对的类则基于更少的权重。这种分类器并不需要多好,只需要比瞎猜强一点点也就行。boosting存在两个问题:

  • 如何改变数据概率分布
  • 如何将各个弱分类器组合起来

Adaboost

从Adaboost算法了解如何解决:
1.改变所赋予的权重
2.对弱分类器的组合是通过甲醛多数表决方式
Adaboost算法主要如下:

  1. 对于一个训练数据基于相同的权重,权重给予1/N N为样本个数
  2. 计算数据集分布上的分类误差率,计算所得的预测值与真实值的差值求和e(m)
  3. 之后就可以进行计算第一个弱分类器的权重a(m)
    在第二轮的弱分类器训练中会以第一个分类器所获得的差值作为一个新的标签,继续训练。

在这篇文章中,我觉得对于Adaboost的解释很详细,而且挺易懂的。

https://blog.csdn.net/px_528/article/details/72963977

代码方面:

本文使用的是sklearn中自带的红酒数据集

使用sklearn实现Adaboost(基分类器为决策树)

'''
AdaBoostClassifier相关参数:
base_estimator:基本分类器,默认为DecisionTreeClassifier(max_depth=1)
n_estimators:终止迭代的次数
learning_rate:学习率
algorithm:训练的相关算法,{'SAMME','SAMME.R'},默认='SAMME.R'
random_state:随机种子
'''
from sklearn.ensemble import AdaBoostClassifier
ada = AdaBoostClassifier(base_estimator=tree,n_estimators=500,learning_rate
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值