模型融合方法总结

1.简单平均

即各模型结果的均值

2.加权平均

各模型结果*权值再求和,其中权值通过交叉验证确定,权值之和为1

3.sigmoid平均

模型融合方法总结_第1张图片
适合模型结果差异比较小的情况

4.bagging

从特征,参数,样本的多样性差异性来做多模型融合,参考随机森林

5.blending

首先将训练集分为两部分(D1和D2),一部分用于第一层(level 1)的训练,另一部分用于第二层(level 2)的训练。level1 在D1上训练了多个模型,将这些模型的预测结果作为level2的feature,在D2上训练第二层模型。

6.stacking

模型融合方法总结_第2张图片
stacking在第一层模型中通过交叉验证的方式生成预测的label,作为第二层线性模型的输入特征(第一层有几个模型第二层就有几个特征),一般模型差异越大融合效果越好。实际中也可以将预测的几个label特征加入到原始特征中,然后用复杂模型再次训练。
模型融合方法总结_第3张图片
blending和stacking的比较:

  • blending是将train划分为2份不相交的数据,一份用来训练生成新的特征,并将其加入到第二层继续训练,第二层只用到了部分数据;
  • stacking将train进行cv划分来训练。第二层用到了第一层的全部数据,并且需要训练大量的模型。

7.其他

  • 可以从特征构造的角度生成两组很不相同的特征,再进行上述融合,这样融合的效果往往比较好(典型案例);
  • 同一个模型也可以通过设置不同的参数甚至是不同的seed,产生多组预测结果,再进行上述融合。

你可能感兴趣的:(机器学习/数据挖掘,Python)