目录
一、模型融合概念
(一)分类
二、Stacking介绍
(一)概念
(二)过程
三、代码示例
(一)回归/分类概率-融合
1.简单加权平均,结果直接融合
2.Stacking融合(回归)
(二)分类模型融合
1.Voting投票机制
2.分类Stacking/Blending融合
四、天池赛实例
XGB的五折交叉回归验证实现
划分数据集,并用方法训练和预测
加权融合
Stacking融合
一、模型融合概念
模型融合通常可以在各种不同的机器学习任务中使结果获得提升。顾名思义,模型融合就是综合考虑不同模型的情况,并将它们的结果融合到一起。由于其较容易理解且比较简单,在工业界的很多应用,也在天池、kaggle等比赛中常拿来做模型集成。
(一)分类
简单加权融合
回归:算术平均融合(Arithmetic mean),几何平均融合(Geometric mean)
分类:投票(Voting)
综合:排序融合(Rank averaging),log融合
stacking/blending
构建多层模型,并利用预测结果再拟合预测
boosting/bagging
多树的提升方法
二、Stacking介绍
(一)概念
Stacking就是用初始训练数据学习处若干个基学习器(如果独立的学习器为同质,称为基学习器【都为SVM或都为LR】;同理,如果独立的学习器为异质,称为组合学习器【将SVM+LR组合】)后,将这几个学习器的预测结果作为新的训练集,来学习一个新的学习器。
将个体学习器结合在一起的时候使用的方法叫做结合策略。对于分类问题,我们可以使用投票法来选择输出最多的类。对于回归问题,我们可以将分类器输出的结果求平均值。
上面说的投票法和平均法都是很有效的结合策略,还有一种结合策略是使用另外一个机器学习算法来将个体机器学习器的结果结合在一起,这个方法就是Stacking。
在stacking方法中,我们把个体学习器叫做初级学习器,用于结合的学习器叫做次级学习器或元学习器(meta-learner),次级学习器用于训练的数据叫做次级训练集。次级训练集是在训练集上用初级学习器得到的。
(二)过程
算法示意图
过程1-3 是训练出来个体学习器,也就是初级学习器。
过程5-9是 使用训练出来的个体学习器来得预测的结果,这个预测的结果当做次级学习器的训练集。
过程11 是用初级学习器预测的结果训练出次级学习器,得到我们最后训练的模型。