Stacking 是先用全部数据训练好基模型,然后每个基模型都对每个训练样本进行的预测,其预测值将作为训练样本的特征值,最终会得到新的训练样本,然后基于新的训练样本进行训练得到模型,然后得到最终预测结果。

  Stacking (Stacked Generalization) 是一种使用串行的组合基学习器的方法,之前的方法都是采用多数投票或者平均的方式做组合策略,那么何不利用训练一个模型的方式做结果组合?Stacking 就采用这种想法,把前一个基学习器 (Base-learner) 的结果作为特征输出到下一个学习器 (Meta-learner),最后的学习器作为融合模型进行最后结果的预测。

  Meta-learner 的选取有很多,可以是常见的 Voting,也可以是容易解释的算法如 LR 等,具体可参考。Stacking 实践可以用 mlxtend 的工具。

  代码实现参考,整理!

References

  1. 《Hands-On Machine Learning》