一、学习知识点概要
模型融合是比赛上分的重要手段,往往模型相差越大且模型表现都不错的前提下,模型融合后结果会有大幅提升。
二、学习内容
- 平均:
- 简单平均法
- 加权平均法
- 投票:
- 简单投票法
- 加权投票法
- 综合:
- 排序融合
- log融合
- stacking:
- 构建多层模型,并利用预测结果再拟合预测。
- blending:
- 选取部分数据预测训练得到预测结果作为新特征,带入剩下的数据中预测。
boosting/bagging
- 选取部分数据预测训练得到预测结果作为新特征,带入剩下的数据中预测。
三、学习问题与解答
学习:VotingClassifier
在VotingClassifier中加入参数 voting=‘soft’, weights=[2, 1, 1],weights用于调节基模型的权重
四、学习思考与总结
- stacking 将若干基学习器获得的预测结果,将预测结果作为新的训练集来训练一个学习器。如下图 假设有五个基学习器,将数据带入五基学习器中得到预测结果,再带入模型六中进行训练预测。但是由于直接由五个基学习器获得结果直接带入模型六中,容易导致过拟合。所以在使用五个及模型进行预测的时候,可以考虑使用K折验证,防止过拟合。
- blending 与stacking不同,blending是将预测的值作为新的特征和原特征合并,构成新的特征值,用于预测。为了防止过拟合,将数据分为两部分d1、d2,使用d1的数据作为训练集,d2数据作为测试集。预测得到的数据作为新特征使用d2的数据作为训练集结合新特征,预测测试集结果。
- Blending与stacking的不同
- stacking
stacking中由于两层使用的数据不同,所以可以避免信息泄露的问题。
在组队竞赛的过程中,不需要给队友分享自己的随机种子。 - Blending
由于blending对将数据划分为两个部分,在最后预测时有部分数据信息将被忽略。
同时在使用第二层数据时可能会因为第二层数据较少产生过拟合现象。
- stacking
- 参考资料:https://blog.csdn.net/wuzhongqiang/article/details/105012739
- 简单平均和加权平均是常用的两种比赛中模型融合的方式。其优点是快速、简单。
- 当然在比赛中将加权平均、stacking、blending等混用也是一种策略