目录

1.什么是stacking?

2.stacking案例

3.参考文献

1.什么是stacking?

stacking是一种分层模型集成框架

        学习器分为两层,每一层使用不同的学习器,第二层依赖第一层数据,第一层的输出是第二层的输入。

        第一层 由多个基学习器组成,输入数据集是原始数据集,输出数据集是n*m  (n是训练集样本个数,m是(基学习器个数+1)),测试集经过第一层基分类器的转换(p*m p是测试样本个数,m是(基学习器个数+1)))

        第二层 以第一层基学习器的输出作为训练集进行训练.

整个过程如下图所示

2.stacking案例

举个例子

1.数据集介绍

        训练集 1000*10 9个特征 1个label

        测试集 300*10

2.每一层怎么处理?

        第一层 三个基分类器 比如xgboost ,lightgbm,randomforest

以xgboost为例

        把训练集分成5份,每一份200个,每一份都做一次验证集 ,训练5次模型,每次在验证集上的结果是200*1, 在测试集上的结果是300*1

5次验证集上的结果纵向合并就是1000*1,对测试集上的结果取平均就是300*1

3个模型结束后,训练集1000*3,测试集是300*3

        第二层 LR分类器 训练集是1000*3 测试集是300*3 使用LR分类器在测试集上预测

blending与stacking的区别是什么? 

        blending在第一层没有使用cv,使用自定义的训练集和测试集比例。stacking是使用cv(Cross-validation). cv是交叉验证的意思。

3.参考文献

1.机器学习--模型融合方法|楓尘的观星台----模型融合

2.【机器学习】模型融合方法概述 - 知乎

3.https://zhuanlan.zhihu.com/p/26890738

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐