datawhale 学习笔记——模型融合入门

前言

这是 datawhale 数据挖掘学习的最后一次打卡——模型融合,内容很好理解,就是将训练出来的多个模型融合在一起,集成,形成一个效果更好的模型。

这次的任务基本上是比较独立的,既没有用到 task3 的特征工程内容,也没有用到 task4 中创建的模型,相对比较独立。不过这次打卡不打算粘贴什么代码了,代码全都在教程里,这里只记录一下我的理解。

简而言之,模型的融合方法大致有以下三种:

  1. 加权融合
  2. stacking/blending
  3. boosting/bagging (树模型的集成方法)

stacking/blending 都属于两层模型结构,因此归为一类;boosting/bagging 都是针对树模型做的,因此也同样归为一类。下面一一做一个简单的介绍

加权融合

加权融合的思路很好理解,就是将各个分类/回归器的预测结果进行不同方式的融合。根据模型是回归模型还是分类模型,融合的方式有所不同。

分类模型通常是以投票的方式进行。即多个模型预测同一个数据,选取预测结果中类别多的作为该样本的输出。

回归模型主要是加权融合的方式。典型的有算数平均融合(所有回归结果取平均值)、几何平均融合(所有回归结果相乘后开 n 次根号,n 为回归结果数)和加权平均(根据分配给分类器不同的权值对结果加权求和然后除以 n 取均值)。

stacking/blending

stacking/blending 都属于两层模型结构。

二者都是先训练出多个模型(分类模型或是回归模型都可),然后针对每个模型对训练样本的输出再进行训练。具体的,将每个模型的输出再次当做下一层模型的输入,继续训练,最后训练出一个可以整合所有模型输出的模型。

二者最大的区别是在于训练集的划分问题。stacking 做的过程中把训练集当成一个整体,输入到下一层模型的输出数据已经被用来训练第一层模型;而 blending 做的时候,把训练集划继续分为第一层模型训练集和第二层模型训练集,这样就避免了两层模型训练时使用相同的数据。

需要注意的一点是,为了避免过拟合,无论使用两个方法中的哪一个,都需要让第二层模型尽可能地简单。

blending 相对于 stacking 的优缺点对比:

优点:

  • 相比于 stacking 简单(划分数据集简单粗暴,不需要使用交叉验证)。
  • 两层模型使用了不一样的数据进行训练,避免了信息泄露。

缺点:

  • 由于划分数据界限清晰,导致的就是两层模型训练的数据都比较少。
  • 由于没有使用交叉验证,可能会导致过拟合,使模型泛化能力降低。

boosting/bagging

boosting 和 bagging 都是树模型集成学习的方法。两者在上一节介绍树模型时都有介绍。不同的树模型内部已经使用了不同的树模型集成方法。根据使用的集成方法不同,分为不同的算法。例如,XGBoost 就属于典型的 boosting 方法;而随机森林就是典型的 bagging 方法。

由于在训练模型时,内部已经集成了这两种方法,因此后续自己再做模型融合时,就不再需要使用这两种方法了。

最后

还是得为这些天看数据挖掘的教程做个总结。教程很好,能学到不少东西,尤其是配合这个很典型的比赛,边学边练。不过遗憾的是,由于各种原因,我并没有花很长时间在这里,比赛也没打,所以进步有限。在这个过程里体验了一下数据挖掘比赛的整个流程,也体验了很多机器学习库的使用,还是有一定收获的。

最后,希望自己以后也能独自来打天池的比赛,如果能体验到上榜的感觉就更帅了!现在吧,就只是想想,哈哈。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值