stack多个xgboost效果并不理想

  统计/机器学习 监督式学习    浏览次数: 1007
2

我在尝试那个汽车保险的练习赛,我train了五个不同的xgboost的模型(模型参量不同)。然后我把这几个模型stack在一起之后的预测roc auc反而不如单个最好的那个xgboost。是我哪里做错了吗?还是有什么隐藏的技巧?


补充:我说的stack就是把五个xgboost的预测结果取均值。

 

Robin峰   2017-09-22 23:40



   6个回答 
5

如果每个xgboost都是用一样的数据、一样的特征训练出来的,那么它们会具有更高的相关性。用多个相关性高的模型进行组装,通常效果不会很好,一般来说是不会超过这几个模型最好的那个的。


SofaSofa数据科学社区 DS面经 问答 实战

蓝色北方   2017-09-24 10:03

2

stack的时候一定要让各个模型多样化,百家争鸣那种,而不是千篇一律。你都是用xgb的话,模型应该很相似。

此外,stack本身也并不能确保总是有效的,有兴趣的话可以看看这篇论文Is Combining Classifiers with Stacking Better than Selecting the Best One?

SofaSofa数据科学社区 DS面经 问答 实战

zl_pku   2018-11-27 09:40

2

stack多个模型就好比街头采访,采访的人越多越好,但同时被采访对象越多样性,越容易得到接近真实的反馈信息。

1、相关性高的模型stack在一起通常效果不好的。因为它们没有足够的多样性,彼此之间并不能提供很多不同的信息。

2、你也可以试试加权取平均,而不是等权重的平均。


SofaSofa数据科学社区 DS面经 问答 实战

ljljlj   2017-09-26 21:13

1

我感觉这个也是要看运气的(我算是新鲜人,不太懂)。

有时候stack一样效果就很好,有时候stack一下效果反而很烂,感觉和数据本身关系挺大的。效果可能也挺随机的,cross validation的效果好就用,不好就不用。

SofaSofa数据科学社区 DS面经 问答 实战

wxjjnss   2018-11-15 11:24

0

楼主可以尝试在每组xgb的特征上引入差异性

SofaSofa数据科学社区 DS面经 问答 实战

tianjiayang0711   2018-12-01 16:07

0

题主的方法准确地说应该是bagging,而不是stack吧

SofaSofa数据科学社区 DS面经 问答 实战

dzzxjl   2018-03-08 12:54

stacking和bagging的区别:http://sofasofa.io/forum_main_post.php?postid=1001591 - 派大星   2018-03-08 12:57
想说averaging的,打错了,不好意思。看了你给的链接,averaging应该还是属于stacking的 谢谢 - dzzxjl   2018-03-08 13:02
所以也并不是真正意义的stacking,也不是bagging - 派大星   2018-03-08 13:02


  相关主题

xgboost是怎么做到regularization的?   2回答

xgboost展开到二阶导数有什么好处啊   1回答

到底什么时候用lightgbm什么时候用xgb   1回答

为什么lightgbm比xgb快?   2回答

xgboost怎么调参?   8回答

xgboost中的参数min_child_weight是什么意思?   1回答

xgboost的FIT问题   1回答

把XGBRegressor保存到本地文件并调用   1回答

为啥Xgboost比GradientBoost好那么多?   5回答

训练值都是正的,xgboost regression却预测出负数?   4回答

xgboost可以做回归预测吗?   2回答

既然xgboost那么好,线性回归还有存在的价值吗?   8回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!