模型融合类型方式:
1、简单加权融合:
回归(分类概率):算术平均融合,几何平均融合
分类:投票
综合:排序融合,log融合
2、stacking/blending
构建多层模型,并利用预测结果再拟合
3、boosting/bagging
多树得提升方法
2)什么是stacking?
简单来说stacking就是利用初始训练数据学习出若干和学习器,将这几个学习器预测得结果作为新得训练集,
来学习一个新的学习器。
3)模型说明
1、次级模型尽量选择简单得线性模型。
2、利用K折进行交叉验证
代码示例:
1)简单得加权平均,结果直接融合
2)特殊加权融合形式,mean平均,median平均:
stacking融合(回归):
可以发现模型结果相对于之前有进一步的提升,这是我们需要注意的一点是,对于第二层Stacking的模型不宜选取的过于复杂,这样会导致模型在训练集上过拟合,从而使得在测试集上并不能达到很好的效果。
分类模型融合
1)Voting投片机制
voting分为软投票和硬投票,原理采用少数服从多数得思想。
from sklearn.ensemble import VotingClassifier
软投票:
经验总结:
1)结果层面得融合,有一个重要得条件就是模型得分比较近似,然后结果得差异要比较大,这样得结果融合往往有比较号得效益提升。
2)特征层面得融合,主要是将特征进行分割给不同得模型,然后进行预测,这样得结果有时产生比较好的结果。
3)模型层面的融合,部分模型的结果作为特征输入等,常用树模型等集成模型后面加个LR或者线性模型。最好模型层面的融合最好不同类型,有一定的差异/同种模型最好不同参数或者不同特征。