Stacking算法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Stacking算法相关的知识,希望对你有一定的参考价值。

参考技术A 大家都是只关注stacking的操作是什么,虽然这很重要,但是却没有说明白为何有效。这一直是困惑我的点,我想通过论文搞清这些东西。貌似没找到,找到再贴。
  我们将假设训练数据:train.csv有1000行;测试数据:test.csv有200行。然后按照下图所示训练:

最后,我想贴一些现成的stacking的框架的链接:
https://github.com/liyi19950329/stacking
https://github.com/liyi19950329/vecstack
https://github.com/liyi19950329/mlens
https://github.com/rasbt/mlxtend
https://github.com/mpearmain/gestalt
https://github.com/reiinakano/xcessiv
https://github.com/kaz-Anova/StackNet
这些框架都集成好了,学会使用就能实现stacking,不过我还是建议看看源码
如果源码看不下去,可以看看kaggle的教程: https://www.kaggle.com/arthurtok/introduction-to-ensembling-stacking-in-python

Blending:用不相交的数据训练不同的 Base Model,将它们的输出取(加权)平均。实现简单,但对训练数据利用少了。

stacking集成算法能有几层

不限,但是很多情况下,两层的效果是相对比较好的,多层反而不好。在不同的数据集上多做实验试一下。 参考技术A 就我所知道的,在boosting框架下有Adaboost,GBDT,xgboost;bagging框架的有随机森林。这两个框架中基分类器可以不限于决策树。

以上是关于Stacking算法的主要内容,如果未能解决你的问题,请参考以下文章

集成学习-Stacking算法

机器学习入门-集成算法(bagging, boosting, stacking)

机器学习——GBDT算法与stacking算法

stacking算法原理及代码

ensemble 和 stacking

集成模型Stacking