KAGGLE ENSEMBLING GUIDE

本文总结了KAGGLE ENSEMBLING GUIDE,主要包括通过submission文件进行ensemble的策略,如投票法、加权投票和平均法,以及stacking和blending的概念,解释了如何结合多个模型的预测以提升性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

KAGGLE ENSEMBLING GUIDE

标签(空格分隔): 未分类


本文主要引自KAGGLE ENSEMBLING GUIDE,有兴趣的可以直接到原文去看,本文是对其原文做的一些总结。

Ensemble方法是机器学习中一种很重要的方法,本文主要讲了两部分:一部分是直接对submission file进行ensemble,另一部分是使用stack/blend方法。

通过submissin file进行ensemble

直接利用模型生成的submissionfile来进行ensemble非常的方便,尤其是在团队进行工作的时候。
1. 直接利用各submission的结果进行投票。
利用该种方法,当ensemble越多的时候,越能得到好的效果。但是,最好能使用的是线性关系较弱的文件,也就是皮尔森相似度较低的两类共同ensemble.
2. 根据权重进行投票
对于效果好的模型,我们给他更高的投票权重。
3. 取平均
对所得的结果取其平均值
4. 排序取平均

具体源代码可以参考这里

stacking&blending

所谓的stack以及blending的意思就是:
先用model拟合出一个模型的预测值,然后再用一个模型拟合出来。
所以有时候两者可以互称。
例如,当我们有一个模型,那么我们可以用k-fold的方法分成多份,每份都有一个(train, test),那么我们对每份的train拟合,对每个test进行predict,那么所有的份合并之后,我们就有了一份针对所有train的预测值;
既然我们做了对train的预测,用于后续的下一步的model的拟合,那么真正的test数据也要做相应的转换。
具体转换方法有多种:可以在每份的数据在通过该份数据的train拟合之后,除了对该份数据的test部分进行预测之外,也对整个真正的test数据进行预测。这样,分成多少份,就会对真正的test数据预测几次,最后取均值作为其预测值即可;也可以直接用整体的train数据fit模型,然后直接predict test的数据作为预测值即可。
如果我们想用多个模型,那么重复上述过程即可。即上面的过程运行一次,会产生一个一维的值用于下一步的预测;多个模型即会产生多列的,即多维的数据,作为下一步的模型的输入值而已。
这样,我们就有了一份新的train数据和test数据,再用新的模型进行拟合与预测就行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值