写了个 R 包用来做 model stacking。实现了最常见的两层架构,第一层是 xgboost、lightgbm 和 catboost 的输出,第二层是 logistic regression。不足之处请各位指正:

源码: https://github.com/nanxstats/stackgbm
文档: https://nanx.me/stackgbm/

写这个的出发点有两个,第一这事是有点属于听着简单但实现时比较容易写错的,第二是不想依赖别人的各种重量级框架。

结果文档写到一半发现都是自己包的软广,红红火火恍恍惚惚 …… 😂

    肖版有兴趣写篇中文介绍推主站吗?重点讲下思路,特别结合那个脑瘤的例子估计对很多人会有启发。

    4 个月 后

    @yufree 谢谢!之后可能会和竞赛主办方合作出一篇文章。如果各位对这个具体例子感兴趣的话,我上周在主办方的一个研讨会上给了个 lightning talk,Zoom 录像戳这里观看,我的报告在第3小时7分30秒开始。

      5 天 后

      nan.xiao 是通过第一层对特征空间进行划分来做特征工程,然后再做回归,是吗?

      @CMCai0104 这里stacking的意思大概是说用上一层每个模型的预测输出作为下一层的输入特征。

      所以只要不怕麻烦而且能正确实现,可以堆叠任意多层,每层可以放任意多个模型。不过考虑到调参和工程上的复杂性,一般做个3层的架构也就可以了。

        nan.xiao 所以第二层是对每个树赋了权重,相当于优化了xgboost中的 Shrinkage衰减?

        还以为是Facebook的 GBDT + LR 的推荐算法呢。。。

        4 年 后