本博客参考了:
https://blog.csdn.net/maqunfi/article/details/82220115
https://zhuanlan.zhihu.com/p/27493821
主要思路
stacking框架是集成了不同的算法,充分利用不同算法从不同的数据空间角度和数据结构角度的对数据的不同观测,来取长补短,优化结果
训练过程
1、划分数据集,比如我们有10000条训练集,2500条测试集,我们将训练集分成5分,每份2000条数据,一层的模型使用5折交叉验证,就是选4份作为训练集,一份做为验证集,这样我们可以得出5份不同的训练集和验证集来训练模型。如下图
2、将验证集的结果排在一块,就可以得到第二层的10000条训练数据,对于测试集,5个交叉验证训练出来的模型会有5份测试集的结果,我们对他进行求平均得到第二层的2500条测试集
3、假设我们要融合10个不同的模型,那么第二层我们会得到1000010维度的训练集,250010的测试集
4、我们用得到的数据训练第二层的模型,第二层的模型一般是比较简单的模型,比如说LR
Stacking特点
1、性能超群,比传统的机器学习效果要好很多
2、我们可以将集成好的知识放到简单的分类器上
3、可以在第二层加入正则项防止过拟合,而且不用过多的调参数和挑选特征。<