由于Blending在集成过程中只会用到验证集的数据,对数据的利用效率低,为了解决这个问题,可以引入交叉验证的方式。Stacking集成学习算法就是基于这个想法。

  • 首先将所有数据分为训练集和测试集,假设训练集样本数为10000,测试集样本数为2500,对训练集进行5折交叉验证,每次使用训练集中的8000个样本训练模型,剩余2000个样本用来验证(在上图中表示为橙色)。
  • 每次验证相当于使用图中蓝色的8000个样本训练出一个模型,每个模型对验证集进行预测,得到2000个预测结果。同时测试集进行预测得到2500个预测结果。经过5折交叉验证,可以得到训练集所有样本在验证时的预测结果,同时也对于测试集所有样本都可得到5个预测结果。
  • 接下来将训练集所有样本的预测结果作为新的特征,标记为A1A_1A1​,而对于测试集中每个样本的5个预测结果进行加权平均,得到新的特征,标记为B1B_1B1​。
  • 以上基于一个基模型在数据集上得到特征A1,B1A_1,B_1A1​,B1​,如果使用3个基模型,可以在训练集和预测集分别得到新特征A1,B1,A2,B2,A3,B3A_1,B_1,A_2,B_2,A_3,B_3A1​,B1​,A2​,B2​,A3​,B3​。
  • 基于训练集新特征A1,A2,A3A_1,A_2,A_3A1​,A2​,A3​训练第二层学习器,然后对测试集的新特征B1,B2,B3B_1,B_2,B_3B1​,B2​,B3​进行预测,得到最终的预测结果。

    sklearn并没有直接实现Stacking的方法,因此我们需要下载mlxtend工具包(pip install mlxtend)。

Stacking案例


可见,此案例中,Stacking的效果不如Random Forest。


使用第一层所有基分类器所产生的类别概率值作为meta-classfier的输入。需要在StackingClassifier 中增加一个
参数设置:use_probas = True。

另外,还有一个参数设置average_probas = True,那么这些基分类器所产出的概率值将按照列被平均,否则会拼接。

例如:
基分类器1:predictions=[0.2,0.2,0.7]
基分类器2:predictions=[0.4,0.3,0.8]
基分类器3:predictions=[0.1,0.4,0.6]
(1)若use_probas = True,average_probas = True,
则生成的meta-feature为[0.233, 0.3, 0.7]
(2)若use_probas = True,average_probas = False,
则生成的meta-feature为[0.2,0.2,0.7,0.4,0.3,0.8,0.1,0.4,0.6]。

使用概率作为元特征:

使用概率作为元特征的Stacking比使用标签的Stacking提升了准确性,但是与Random Forest相比,虽然平均准确性相同,但是方差更大,性能依然不如Random Forest。

使用5折分类与网格调参基模型:



基模型可以重复使用同一类但参数不同的模型:



经过调参,并且增加了1个KNN基模型后,准确率提高到了0.96。

在不同特征子集上运行的分类器的堆叠:


绘制ROC曲线:





相比Blending,Stacking使用了交叉验证,对数据的利用率更高,同时结果也更加稳健。

本文来源于Datawhale的开源学习内容,链接是https://github.com/datawhalechina/team-learning-data-mining/tree/master/EnsembleLearning

感谢Datawhale对开源学习的贡献!

Stacking集成学习算法相关推荐

  1. 集成学习算法的思想、通过集成学习提高整体泛化能力的前提条件、如何得到独立的分类器Bagging、Boosting、Stacking算法

    集成学习算法 Ensemble learning algorithm 目的:让机器学习的效果更好,单个的分类器如果表现的好,那么能不能通过使用多个分类器使得分类效果更好呢?或者如果单个分类器分类效果不 ...

  2. ML之回归预测:利用Lasso、ElasticNet、GBDT等算法构建集成学习算法AvgModelsR对国内某平台上海2020年6月份房价数据集【12+1】进行回归预测(模型评估、模型推理)

    ML之回归预测:利用Lasso.ElasticNet.GBDT等算法构建集成学习算法AvgModelsR对国内某平台上海2020年6月份房价数据集[12+1]进行回归预测(模型评估.模型推理) 目录 ...

  3. 集成学习-Boosting集成学习算法GBDT

    GBDT算法的核心为:先构造一个(决策)树,然后不断在已有模型和实际样本输出的残差上再构造一颗树,依次迭代. 目录 Decistion Tree(决策树) Gradient Boosting(梯度提升 ...

  4. 机器学习——集成学习算法(Adaboost、随机森林)

    集成算法简述 什么是集成学习 如何得到多个个体学习器 集成学习常用算法 Bagging 自助采样 学习器结合 包外估计 随机森林 Adaboost Boosting Adaboost算法原理 注意 什 ...

  5. 【史诗级干货长文】集成学习算法

    集成学习算法 1. 集成学习算法简介 1.1 什么是集成学习 1.2 复习:机器学习的两个核心任务 1.3 集成学习中boosting和Bagging 1.4 小结 2. Bagging和随机森林 2 ...

  6. 机器学习笔记(六)Boosting集成学习算法Adaboost和GBDT

    一.前言 在前一篇文章中我们介绍了集成学习算法中的Bagging模型,本篇文章将继续介绍集成学习算法中的另一个代表性算法Boosting模型.Boosting是一种可将弱学习器提升为强学习器的算法,其 ...

  7. Stacking 集成学习在多因子选股中的应用

    Stacking 集成学习模型简介 Stacking 集成学习的原理 Stacking 是一种常见的集成学习框架.一般来说,Stacking 将训练一个多层(一般是两层, 本文中默认两层)的模型结构, ...

  8. bagging和boosting算法(集成学习算法)

    一.集成学习简介   在讲boosting和bagging算法之前,首先需要了解一下集成学习的概念.集成学习是指将若干弱分类器组合之后产生一个强分类器.弱分类器(weak learner)指那些分类准 ...

  9. 机器学习集成学习算法

    目录 1 集成学习算法简介 1.1 什么是集成学习 1.2 机器学习的两个核心任务 1.3 集成学习中boosting和Bagging 1.4 小结 2 Bagging和随机森林 2.1 Baggin ...

最新文章

  1. Java EE---Spring AOP
  2. FiM | 牧医所奶业创新团队建立瘤胃微生物脲酶的靶向宏蛋白质组方法
  3. Java 继承 执行顺序
  4. 11 个高效的同行代码评审最佳实践
  5. 【Linux 内核】Linux 内核源码目录说明 ③ ( lib 目录 | LICENSES 目录 | mm 目录 | net 目录 | samples 目录 | scripts 目录 )
  6. MyBatis的useGenerateKeys的使用方法
  7. Qt文档阅读笔记-官方Form Extractor Example实例解析
  8. TensorFlow入门:TensorFlow工作原理
  9. 自动化测试C语言程序,自动化测试程序之一自定义键盘的模拟测试程序(C语言)...
  10. cocos2d-x 3.2 DrawNode 绘图API
  11. SecureCRT的安装、介绍、简单操作
  12. 实现一个闹钟_iOS 14 闹钟:为啥这么难用?
  13. Kubernetes快速部署,kubectl命令使用,资源管理
  14. 易语言超级列表框 网络图片_川足快报| 四川优必选为老将汪嵩庆生、遂宁市第三届高中男子足球超级联赛开赛...
  15. GIAC全球互联网架构大会2017上海站圆满结束,PPT合集下载
  16. 锚点实现回到顶部的操作
  17. mysql mtq_第十六节:Mysql中的关键字
  18. Centos7 ,使用grep,cut 、awk 提取IP地址
  19. 用Java实现网易云音乐爬虫(非selenium)
  20. java毕设项目广东省梅州市宇恒节能科技有限公司(附源码)

热门文章

  1. web服务性能监控方案
  2. 省交通运输厅表示,明年年底前全省公交卡可互刷
  3. aws 安全组 acl_对AWS安全组和网络ACL进行故障排除时应了解的知识
  4. python代码雨在桌面实现_今天七夕节,外面下着大雨,用Python的tkinter做一个下爱心雨的特效,发给妹子...
  5. java防止溢出mod1000000007
  6. http请求的post和get方式的区别
  7. 《C Primer Plus(第6版)中文版》 第5章 运算符、表达式和语句 学习笔记
  8. 影响画册报价的因素有哪些?
  9. 2019穿越熊市最佳攻略,聪明人都选择量化投资!
  10. 学习编程的方法西安尚学堂