温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Blending和Stacking的流程是什么

发布时间:2021-12-27 14:54:34 来源:亿速云 阅读:149 作者:iii 栏目:大数据

这篇文章主要介绍“Blending和Stacking的流程是什么”,在日常操作中,相信很多人在Blending和Stacking的流程是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Blending和Stacking的流程是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1. Blending

1.1 Blending 流程

Blending相较于Stacking来说要简单一些,其流程大致分为以下几步:

  • 将数据划分为训练集和测试集(test_set),其中训练集需要再次划分为训练集(train_set)和验证集(val_set);
  • 创建第一层的多个模型,这些模型可以使同质的也可以是异质的;
  • 使用train_set训练步骤2中的多个模型,然后用训练好的模型预测val_set和test_set得到val_predict, test_predict1;
  • 创建第二层的模型,使用val_predict作为训练集训练第二层的模型;
  • 使用第二层训练好的模型对第二层测试集test_predict1进行预测,该结果为整个测试集的结果 1.2 Blending 图解     Blending和Stacking的流程是什么

2. Stacking

2.1 Stacking 流程

Stacking流程比较复杂因为涉及到交叉验证的过程,其流程与Blending类似,具体如下:

  • 将数据划分为训练集和测试集(test_set),对训练集进行划分为K个大小相似的集合,取其中一份作为验证集val_set,其余的为训练集train_set;
  • 创建第一层的多个模型,这些模型可以使同质的也可以是异质的;
  • 对于每一个模型来说,train_set和val_set是不一样的,如2.2图所示;然后利用各自的train_set训练各自的模型,训练好的模型对各自的val_set和test_set进行预测,得到val_predict和test_predict;
  • 创建第二层的模型,将每个模型对应的val_predict拼接起来作为第二层的训练集,将所有模型的test_predict取平均值作为第二层的测试集;用训练好的第二层模型对第二层的测试集进行预测,得到的结果即为整个测试集的结果
 

2.2 Stacking 图解

stacking 网上有两种解释,一种是单个模型进行5次交叉验证得到一个结果,然后对每个模型都进行相同的操作,此时训练集的维度为(#样本数目 x #模型数目);另一种是每个模型对数据的每一折输出一个结果,然后把每一折的结果拼接起来,此时的训练集维度(#样本数目 x 1)。

Blending和Stacking的流程是什么

3. Blending与Stacking对比

Blending的优点在于:

1.比stacking简单(因为不用进行k次的交叉验证来获得stacker feature)

2.避开了一个信息泄露问题:generlizers和stacker使用了不一样的数据集

3.在团队建模过程中,不需要给队友分享自己的随机种子

而缺点在于:

1.使用了很少的数据(是划分hold-out作为测试集,并非cv)

2.blender可能会过拟合(其实大概率是第一点导致的)

3.stacking使用多次的CV会比较稳健

到此,关于“Blending和Stacking的流程是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI