BoostingClassifier

本文介绍了Boosting算法中的Adaboost和GBDT。Adaboost是一种迭代算法,通过调整样本权重使难分类样本在后续训练中占比增大,从而提升模型性能。GBDT则通过构建弱决策树并沿着损失函数梯度方向进行优化,逐步提升模型准确性。文章详细讲解了两种算法的实现原理,并提供了实例分析。
摘要由CSDN通过智能技术生成
写在前面

前面博客写过 bagging 算法的实现方式,并且提到集成算法的其他三类模型组合方式,此文主要简述Boosting 中Adaboost / GBDT 的实现方式.

算法主要特点

Boosting:

  • 顺序集合:尝试添加在之前模型缺失的地方做得很好的新模型
  • 旨在减少偏差,而不是方差
  • 适合低方差高偏差模型
  • 基于树的方法的示例是梯度提升

图例描述
这里写图片描述


接下来进入主题

1. Adaboost 算法:

WIKI百科:
AdaBoost,即Adaptive Boosting,译为自适应增强,其1995年由Freund和Schapire提出的。AdaBoost算法是提升方法(Boosting)的一种,那什么是提升方法呢?提升方法是一种将弱学习算法提升为强学习算法的一种统计学习方法,在分类问题中,它通过反复修改训练样本的权值分布,构建一系列基本分类器(弱分类器),并将这些基本分类器线性组合起来,构建一个强分类器,以提高分类性能。而AdaBoost算法便是提升方法中的代表性算法,另外一个是提升树方法(Boosting Tree)。

通俗理解:
即Adaptive boosting,是一种迭代算法。每轮迭代中会在训练集上产生一个新的分类器,然后使用该分类器对所有样本进行分类,以评估每个样本的重要性(informative)。 具体来说,算法会为每个训练样本赋予一个权值。每次用训练完的新分类器标注各个样本,若某个样本点已被分类正确,则将其权值降低;若样本点未被正确分类,则提高其权值。权值越高的样本在下一次训练中所占的比重越大,也就是说越难区分的样本在训练过程中会变得越来越重要。 整个迭代过程直到错误率足够小或达到一定次数为止。


1.1 实现原理:

  • 数学基础
    这里写图片描述

  • 图例描述
    这里写图片描述

  • 实现描述

    1. 初始化样本的权值为1/n。
    2. 基于样本与权值训练弱分类器;
    3. 根据分类器对样本进行判别,如果判别正确,此样本的权值降低,判别错误,降低样本的权值,同时 根据识别率计算出此分类器的权值;
    4. 利用改变权值的样本训练下一个分类器;
    5. 循环得到N个分类器与其对应的权值;
    6. 基于加权的分类器组合成为最终的模型

    adaboost算法模型简单,不容易过拟合,无需调参,优点挺多。但是其实也是需要根据样本类型来使用。


1.2 实例分析:

  1. 实例环境

    sklearn + anconda + jupyter

  2. 实例步骤

    • 数据:可以采用 datasets 的数据,在此作者使用的是自己整理的股票行情
    • 训练、测试数据归一化
    • 参数寻优可以使用GridSearch,在此不作赘述

    参数列表:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奥特曼不秃头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值