长话短说stacking集成学习算法,保证你能看得懂(1)

Stacking是集成学习算法中一朵奇葩,只所以这样说,是因为它没有走Majority投票法和均值法的寻常路,但是集成学习的效果却非常优异,以致于成为各类机器学习竞赛中主流的技术。

目前网上充斥着各种学习心得和使用方法,不能说它们写得不好,只是大多数不太好懂。我也是看着别人的文章学会stacking的。现在我想努力把stacking说得更明白些,让喜欢尝试它的人更容易上手。

要想学会stacking,必须要了解它的思路。其实stacking的思路很简单,就是用多个基学习器的输出(初级学习的预测值)和真实值组合在一起,进行再学习,从而建立多组预测值与真实值更为准确的映射关系(次级学习的成果),这正是stacking比Majority投票法和均值法更准确的原因。

具体证明过程从略,我们从一个小例子中就能体会到这一点(如下图):

这是6个基学习器(更确切地说是6种学习器)在同一训练集上的预测结果,以及Majority投票法和均值法进行集成的结果,我们可以清楚地看到,无论是Majority投票法还是均值法,对于标红的部分都出现了集成错误,错误出现的原因是Majority投票法和均值法本身的缺陷造成的,这是算法基因的问题,没得救。

但是如果我们将6个模型的输出/预测值作为X_train,将真实值作为y_train,那么我们就可以组合各个模型预测结果,通过机器学习建立多个基模型的输出与真实值y_train的映射关系,注意这个映射关系是由(X_train,y_train)在整体上决定的,而不像Majority投票法和均值法那样在单个组合上进行决策,因此stacking这种集成操作确保了多个模型在意见不统一时,更容易选择正确的答案。这就是stacking准确性的主要原因。

搞清楚了stacking的思路,我们就可以进行具体的操作了。详见博文第二部分

推荐自编课程《零基础学python数据分析》
推荐自编简明预测分析教程(Python版)​​​​​​​

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

interbigdata

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值