- stacking vs. blending:stacking 将若干基学习器获得的预测结果,将预测结果作为新的训练集来训练一个学习器。假设有五个基学习器,将数据带入五基学习器中得到预测结果,再带入模型六中进行训练预测。但是由于直接由五个基学习器获得结果直接带入模型六中,容易导致过拟合。所以在使用五个及模型进行预测的时候,可以考虑使用K折验证,防止过拟合。blending是将预测的值作为新的特征和原特征合并,构成新的特征值,用于预测。为了防止过拟合,将数据分为两部分d1、d2,使用d1的数据作为训练集,d2数据作为测试集。预测得到的数据作为新特征使用d2的数据作为训练集结合新特征,预测测试集结果。
- 平均(简单平均、加权平均)
- 投票(简单投票、加权投票)
- stacking代码(使用KNN, random forest, naive bayes,与用stacking融合三种模型的结果相比)
- blending代码
*stacking在比赛中比较好用,但是速度会很慢,实际环境中应用还是有一定的难度。
https://github.com/datawhalechina/team-learning-data-mining/blob/master/FinancialRiskControl/Task5%20%E6%A8%A1%E5%9E%8B%E8%9E%8D%E5%90%88.md