Kaggle正式赛首战top3%分享,小白献给机器学习新手
来源:互联网 发布:乒乓球入门知乎 编辑:程序博客网 时间:2024/05/22 06:28
8月15号结束的instacart kaggle比赛首战 top3% 69名。代码我就不贴了,第二第三的代码论坛里都找得到。我这里主要讲方法和注意事项:
以我不深的比赛经历,我觉得kaggle主要是一个靠特征工程和模型调参,和模型融合的比赛
第一 论坛和kernel里一般能够找到开源代码,先从得分最好的代码开始起步。我当时就是找到了得分最好的R代码,但当时我并不会R语言,所以我尝试从头到尾翻译成python。 但是翻译着翻译着就学会R了,后来就懒得改直接用R做特征工程了。当时运行这份代码就直接到了top14%,当然比赛结束还有一个月,大家也没有认真。
第二,可以尝试论坛里别人的介绍的方法,kaggle可能和国内的比赛很不一样,因为外国人非常喜欢分享,可能非常核心的东西也会分享,我当时通过着两篇论坛文章加了非常多的特征提升很大: 第一篇是关于word2vec的,第二篇是 How many features do you make? 这里我获得了大量特征,这是我比别人的特征工程做的好原因之一。另外还有一篇关于KDD特征工程的论文,我记得那时我经常一边看论文一边用R做特征工程。
第三,还是时刻关注论坛真的非常重要,其实instacart这个比赛是很有水平的,关注数学原理,其中F1优化本来是比赛的核心,但是在比赛快2周结束时,一个德国人把这个核心代码给开源了。导致前30到前200名差距只有特征工程和模型调参,融合。我当时名次直接升到90多,后来通过特征工程到了52名
第四 这个比赛快结束一周时,我记得当时我是52名,53名的人把自己的整个项目给开源了。而且实际上53名的代码的GBDT算法可以到更好的分数,我一开始都没有关注他的算法,导致名次一直退到150名,比赛结束快2天时,我发现融合他的GBDT模型,分数能大幅提升。于是我融合了他的GBDT模型,然后调整融合比率,最好的时候升到40多名。但比赛快结束的时候下降到69。因为我没有GPU环境,所以最好配置好GPU环境再用自己的特征运行53名的GBDT已经来不及了。
第五 千万不要多账号,我因为多账号,导致主号被删除比赛了。只留下了一个top5%的小号,相当悲剧。
最后我租了一台32核128G内存的服务器,如果内存足够大,你做特征工程时会非常舒服。 其实这个比赛让我学会了很多,最重要的是诚信,我努力了1个半月因为诚信问题没有了荣誉,以后工作也是。跟外国人打交道,更不能有cheating behavior,我觉得是像我这样的国人缺乏的。
另外看了我的文章你大概也知道,kaggle可以通过论坛学习方法,再花时间去试。如果你有幸碰到一个instacart这种,数据量大,CV稳定,你又有不错的硬件,时间充裕。有吴恩达的machine learning的机器学习基础,那么你很可能能进前5%,当然如果不想被取消成绩,千万要讲诚信,不要多账号,只要有一个提交一样就有可能被直接踢出比赛。
祝好
- Kaggle正式赛首战top3%分享,小白献给机器学习新手
- kaggle机器学习竞赛冠军及分享
- 机器学习 小白笔记 正式开始!
- 机器学习-Kaggle竞赛-Titanic
- 机器学习-Kaggle竞赛-Digit recognizer
- kaggle机器学习教程(Python实现)
- Python机器学习实践与Kaggle实战
- Python机器学习实战与kaggle实战
- Kaggle Titanic 机器学习实践笔记
- kaggle titanic 机器学习流程 top30%
- 新手机器学习-tensorflow
- 如何在 Kaggle 首战中进入前 10%
- 如何在 Kaggle 首战中进入前 10%
- 如何在 Kaggle 首战中进入前 10%
- kaggle初探——如何在 Kaggle 首战中进入前 10%
- 新手小白学习OpenGL的网站
- 通过一个kaggle实例学习解决机器学习问题
- 通过一个kaggle实例学习解决机器学习问题
- 侧滑
- gdfzoj #790 卡尔的连招(状压dp)
- IntelliJ IDEA 智能代码分析
- 比较大小
- eclipse远程调用Hadoop时遇到的问题(1)
- Kaggle正式赛首战top3%分享,小白献给机器学习新手
- 林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)- Linux之父
- 小论文投稿
- PAT A 1105. Spiral Matrix (25)
- HDU6170-Two strings
- MAC下pyenv和pyenv-virtualenv插件初探
- 阿牛的EOF牛肉串
- HTML5推出的理由
- 《C++ Concurrency In Action》part1 HelloWorld