Kaggle提升模型性能的超强杀招Stacking——机器学习模型融合

之前的文章中谈到了机器学习项目中,要想使得使得机器学习模型进一步提升,我们必须使用到模型融合的技巧,今天我们就来谈谈模型融合中比较常见的一种方法——stacking。翻译成中文叫做模型堆叠,接下来我们就来了解下,此法到底如何将模型做堆叠从而提升模型效果的。

stacking具体流程

我们就对着下图(两层的stacking)来详细描述一下如何做模型stacking:

  • 首先将数据分为5份,
  • 在stacking的第一层定义5个基模型[model_1 ,model_2,model_3,model_4,model_5],其中每个模型选择做一下5折的交叉验证的预测,这样就相当于每个模型将所有数据预测了一遍,举个例子,最终每一个训练数据会被转换为[1,1,1,1,0]形状,维度为5的向量。
  • 将第一层5个基模型的输出预测向量[1,1,1,1,0],作为第二层模型model_6的特征做训练,
  • 做test时,直接将test的数据喂给之前第一层训练好的5个基模型,5个模型预测出的至平均后作为第二层模型的输入。

大家可以简单的将stacking的第一层模型理解成一个超强的特征转换层

猜你喜欢

转载自blog.csdn.net/wenyusuran/article/details/107333866