数据竞赛——5

Stacking

Stacking:表示学习指的是模型从原始数据中自动抽取有效特征的过程。

Stacking先从初始数据集训练出初级学习器,将初级学习器的输出当作特征构成新数据集,利用新数据集再训练次级学习器(meta-learner)。

Stacking的框架结构与运行过程如下:

假设是五折的stacking,我们有一个train数据集和一个test数据集,那么一个基本的stacking框架会进行如下几个操作:
1、选择基模型。我们可以有xgboost,lightGBM,RandomForest,SVM,ANN,KNN,LR等等你能想到的各种基本算法模型。
2、把训练集分为不交叉的五份。我们标记为train1到train5。
3、从train1开始作为预测集,使用train2到train5建模,然后预测train1,并保留结果;
然后,以train2作为预测集,使用train1,train3到train5建模,预测train2,并保留结果;如此进行下去,直到把train1到train5各预测一遍;
4、把预测的结果按照train1到trian5的位置对应填补上,得到对train整个数据集在第一个基模型的一个stacking转换。
5、在上述建立的五个模型过程中,每个模型分别对test数据集进行预测,并最终保留这五列结果,然后对这五列取平均,作为第一个基模型对test数据的一个stacking转换。
6、选择第二个基模型,重复以上2-5操作,再次得到train整个数据集在第二个基模型的一个stacking转换。
7、以此类推。有几个基模型,就会对整个train数据集生成几列新的特征表达。同样,也会对test有几列新的特征表达。
8、一般使用LR作为第二层的模型进行建模预测。

目前训练出的model的测试的最好结果如下图所示:
在这里插入图片描述

参考文献
[1]: https://blog.csdn.net/winycg/article/details/84032459
[2]: https://blog.csdn.net/wstcjf/article/details/77989963
[3]: https://zhuanlan.zhihu.com/p/32896968
[4]: https://zhuanlan.zhihu.com/p/27493821

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值