stacking雷锋网读懂智能&未来首页 AI研习社 AI影响因子 活动 专题 精选 爱搞机
业界人工智能智能驾驶AI+金融科技未来医疗网络安全AR/VR机器人开发者智能硬件物联网GAIR
人工智能开发者正文
0
Kaggle机器学习之模型融合(stacking)心得
本文作者:汪思颖 2017-09-29 19:22
导语:本文适用于被stacking折磨的死去活来的新手
雷锋网(公众号:雷锋网) AI科技评论按,本文作者吉他手,雷锋网 AI科技评论获其授权发布。
此文道出了本人学习Stacking入门级应用的心路历程。
在学习过程中感谢@贝尔塔的模型融合方法,以及如何在 Kaggle 首战中进入前 10%这篇文章(作者是章凌豪)。对于两位提供的信息,感激不尽。同时还有Kaggle上一些关于ensemble的文章和代码,比如这篇(https://www.kaggle.com/arthurtok/introduction-to-ensembling-stacking-in-python)。
本文适用于被stacking折磨的死去活来的新手,在网上为数不多的stacking内容里,我已经假设你早已经看过了上述所提到的那几篇有用的文章了。但是,看完之后内心还是卧槽的。我希望下面的内容能成为,你在学习stacking的曲折道路上的一个小火把,给你提供一些微弱的光亮。
本文以Kaggle的Titanic(泰坦尼克预测)入门比赛来讲解stacking的应用(两层!)。
数据的行数:train.csv有890行,也就是890个人,test.csv有418行(418个人)。
而数据的列数就看你保留了多少个feature了,因人而异。我自己的train保留了 7+1(1是预测列)。
在网上为数不多的stacking内容里,相信你早看过了这张图:Kaggle机器学习之模型融合(stacking)心得
这张图,如果你能一下子就能看懂,那就OK。
如果一下子看不懂,就麻烦了,在接下来的一段时间内,你就会卧槽卧槽地持续懵逼......
因为这张图极具‘误导性’。(注意!我没说这图是错的,尽管它就是错的!!!但是在网上为数不多教学里有张无码图就不错啦,感恩吧,我这个小弱鸡)。
我把图改了一下:
Kaggle机器学习之模型融合(stacking)心得对于每一轮的 5-fold,Model 1都要做满5次的训练和预测。
Titanic 栗子:
Train Data有890行。(请对应图中的上层部分)
每1次的fold,都会生成 713行 小train, 178行 小test。我们用Model 1来训练 713行的小train,然后预测 178行 小test。预测的结果是长度为 178 的预测值。
这样的动作走5次! 长度为178 的预测值 X 5 = 890 预测值,刚好和Train data长度吻合。这个890预测值是Model 1产生的,我们先存着,因为,一会让它将是第二层模型的训练来源。
重点:这一步产生的预测值我们可以转成 890 X 1 (890 行,1列),记作 P1 (大写P)
接着说 Test Data 有 418 行。(请对应图中的下层部分,对对对,绿绿的那些框框)
每1次的fold,713行 小train训练出来的Model 1要去预测我们全部的Test Data(全部!因为Test Data没有加入5-fold,所以每次都是全部!)。此时,Model 1的预测结果是长度为418的预测值。
这样的动作走5次!我们可以得到一个 5 X 418 的预测值矩阵。然后我们根据行来就平均值,最后得到一个 1 X 418 的平均预测值。
重点:这一步产生的预测值我们可以转成 418 X 1 (418行,1列),记作 p1 (小写p)
走到这里,你的第一层的Model 1完成了它的使命。
第一层还会有其他Model的,比如Model 2,同样的走一遍, 我们有可以得到 890 X 1 (P2) 和 418 X 1 (p2) 列预测值。
这样吧,假设你第一层有3个模型,这样你就会得到:
来自5-fold的预测值矩阵 890 X 3,(P1,P2, P3) 和 来自Test Data预测值矩阵 418 X 3, (p1, p2, p3)。
-----------------------------------------
到第二层了..................
来自5-fold的预测值矩阵 890 X 3 作为你的Train Data,训练第二层的模型
来自Test Data预测值矩阵 418 X 3 就是你的Test Data,用训练好的模型来预测他们吧。
---------------------------------------
最后 ,放出一张Python的Code,在网上为数不多的stacking内容里, 这个几行的code你也早就看过了吧,我之前一直卡在这里,现在加上一点点注解,希望对你有帮助:
Kaggle机器学习之模型融合(stacking)心得
雷锋网版权文章,未经授权禁止转载。详情见转载须知。
7人收藏 分享:
相关文章
机器学习模型融合stackingKaggle
IBM NeurIPS 2018 poster:把深度学习模型的表现迁移 ...
一文带你读懂机器学习和数据科学的决策树
亚马逊的自研AI芯片威胁到了英特尔?
李飞飞主讲斯坦福大学 CS231n 课程笔记
文章点评:
我有话要说……
表情 同步到新浪微博 提交
汪思颖
编辑
关注 AI 学术动态以及各类数据挖掘比赛,加好友请备注个人信息~谢谢。微信:awanglala
发私信
当月热门文章
IEEE Fellow 2019 名单出炉,40 位国内高校学者入选
IEEE Fellow 又增一位华人学者,中科院自动化所王亮研究员当选
云从科技 OCR 新突破:端到端的深度学习文本检测框架 Pixel-Anchor
阿里达摩院引入以色列知名科学家 Lihi Zelnik-Manor 教授
中科院陆汝钤获吴文俊人工智能最高成就奖,百度王海峰获吴文俊人工智能杰出贡献奖
最新文章
四万高手过招,这份阿里全球数学竞赛试题你真的不要看吗
司法鉴定牵手深度学习:Kaggle 相机型号识别大赛深度分析
CIKM AnalytiCup 2018冠军方案出炉,看他们构造模型的诀窍
干货 | BERT fine-tune 终极实践教程
清华大学韩旭:神经关系抽取模型 | AI研习社71期大讲堂
吸引 7198 支队伍参赛,看 Kaggle 信用预估比赛冠军方案
热门搜索
智能驾驶支付宝网络安全直播intelchromeTechCrunch共享单车Echo社交游戏FBI
热门关键字
热门标签人工智能 机器人机器学习深度学习金融科技未来医疗智能驾驶自动驾驶计算机视觉激光雷达图像识别智能音箱区块链智能投顾医学影像物联网IoTCV微信小程序平台微信小程序在哪CES 2017CES2016年最值得购买的智能硬件2016 互联网小程序微信朋友圈抢票软件智能手机智能家居智能手环智能机器人智能电视360智能硬件智能摄像机智能硬件产品智能硬件发展智能硬件创业黑客白帽子大数据云计算新能源汽车无人驾驶无人机大疆小米无人机特斯拉VR游戏VR电影VR视频VR眼镜VR购物AR直播扫地机器人医疗机器人工业机器人类人机器人聊天机器人微信机器人微信小程序移动支付支付宝P2P区块链比特币风控高盛人脸识别指纹识别黑科技谷歌地图谷歌IBM微软乐视百度三星s8腾讯三星Note8 小米MIX小米Note华为小米阿里巴巴苹果MacBook ProiPhoneFacebookGAIRIROS双创周云栖大会优葩智能硬件公司智能硬件QQ红包支付宝红包敬业福nfcface++人脸识别苹果手机故障vr的缺陷1200美元iphone 6c游侠电动车google photos 电脑版力场组装无人机为什么要在嵌入式系统中广泛使用openwrtsoli生物传感器电动行李箱ios10破解更多
联系我们关于我们加入我们意见反馈投稿
Copyright © 2011-2018 www.leiphone.com 雷锋网-移动互联网智能终端第一媒体 All Rights Reserved 粤ICP备11095991号-1 ICP证粤B2-20150332 0daybank
文章评论