集成学习下 02 stacking集成学习算法
开源学习地址:datawhale
1.Stacking
stacking的思想从blending发展而来,具体思路如下:
1.首先将所有数据集生成测试集和训练集(假设训练集为10000,测试集为2500行),对训练集进行五折交叉验证,使用训练集中8000条作为训练集,剩余2000作为验证集。
2.每次验证相当于使用蓝色的8000条数据训练出一个模型,使用模型对验证集进行验证得到2000条数据,并对测试集进行预测,得到2500条数据。经过五次交叉验证,可以得到5个2000条验证集的结果,5个2500条测试集的预测结果。
3.将验证集的5个2000条预测结果拼接保存为新的training data,记为 A 1 A_1 A1,对5个2500行的测试集的预测结果进行加权平均,得到一个2500行的矩阵,记为 B 1 B_1 B1。
4.上面得到一个基模型在数据集上的预测结果 A 1 、 B 1 A_1、B_1 A1、B1,当对3个基模型进行集成,则得到 A 1 、 A 2 、 A 3 、 B 1 、 B 2 、 B 3 A_1、A_2、A_3、B_1、B_2、B_3 A1、A2、A3、B1、B2、B3六个矩阵。
5.对六个矩阵分别进行拼接,合并