机器学习融合模型stacking自己理解
目录
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.机器学习--模型融合方法|楓尘的观星台----模型融合
3.https://zhuanlan.zhihu.com/p/26890738
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)