加入 Kaggle 大数据竞赛,总共分几步?-阿里云开发者社区

开发者社区> 雷锋网> 正文

加入 Kaggle 大数据竞赛,总共分几步?

简介:

加入 Kaggle 大数据竞赛,总共分几步?

日前,谷歌在 Google Cloud Next 云计算大会上宣布收购知名大数据竞赛平台 Kaggle。消息一出,震动了数据科学、AI、机器学习三界(详见雷锋网文章:谷歌收购 Kaggle 为什么会震动三界?)。相信经过这条新闻的曝光,未来会出现更多的开发者和从业人员加入 Kaggle 一展身手。为此,雷锋网编译了一篇国外大牛的博文,其中总结了入门 Kaggle 竞赛的四个简单步骤,希望对相关人员有所帮助。

加入 Kaggle 大数据竞赛,总共分几步?

原文作者 Jason Brownlee,机器学习专家,开发者,作家,企业家,曾在美国国防部门、初创企业和极端天气预报机构从事机器学习的相关开发工作多年。目前为了帮助机器学习领域更多的开发者,开设了一个名为 Machine Learning Mastery 的网站,提供各种入门和高级的机器学习教程。

为什么选 Kaggle?

目前,开发者可以通过各种各样的方式来学习和实践机器学习技能,但为什么大家都选择 Kaggle 呢?或许是因为 Kaggle 具有以下一些特定的优势:

● 问题的定义明确,直接提供了可用的数据库;

● 由于行业里充斥着各种五花八门的排行榜,因此很难找到其他更客观的机器学习测试平台;

● 通常每场比赛都会有许多讨论和分享,参赛者可以从中学习,并参与分享;

● 通过解决现实生活中的某个特定数据问题,参赛者可以充分展示自己;

● 这是一个完全靠技术说话的平台,只要你能解决问题,就能赢得尊重,跟学历和学位无关。

概述

这里,我总结了入门 Kaggle 竞赛的四个简单步骤:

1. 选定一个平台

2. 基于标准的数据库练习

3. 练习旧的 Kaggle 题目

4. 在 Kaggle 上比赛

就像这世上的许多事,简单地写出这四个步骤当然很容易,但实现起来很难。实现它们需要付出非凡的时间和精力,无疑会是一项艰苦的工作。当然,天道酬勤,只要你付出了努力,并且有条不紊地坚持下去,那么总有一天你将成为一名世界级的机器学习从业者。

另外,对于那些已经具备一些开发经验的读者,你可以直接跳到第四步开始比赛。但对于本文的主要读者,那些入门级的用户,我还是建议从第一步开始。

下面我们具体看看这四个步骤。

1. 选定一个平台

同样,摆在开发者面前的可选平台也很多,可能最终你会发现初期的选择纠结是没有必要的,因为每个开发者实际上都同时使用许多平台,但刚开始你必须选定一个。

这里,我推荐大家以 Python 为起点。原因有以下几条:

● 业界对基于 Python 的机器学习需求正在增长;

● 不像 R 语言,Python 是一个全功能的编程语言;

● Python 的生态系统已经基本成熟,可选的工具包非常丰富,例如 sklearn,pandas,statsmodels,xgboost 等;

● Python 具有一些非常好的深度学习框架:Theano,TensorFlow,Keras 等。

总之,你必须先选定一个平台,并开始学习如何使用它。

深入阅读:

● Python is the Growing Platform for Applied Machine Learning

地址:http://machinelearningmastery.com/python-growing-platform-applied-machine-learning/ 

● Python Machine Learning

地址:http://machinelearningmastery.com/start-here/#python 

2. 基于标准的数据库练习

选定了平台之后,下一步就是基于真实的数据库展开实践。

这里我推荐通过 UCI machine learning repository (UCI 机器学习资源库)来解决一些标准的机器学习问题。

UCI 官网:http://archive.ics.uci.edu/ml/index.html 

需要强调的是:将每个数据集都视为一次小型的比赛。相关注意事项包括:

● 将数据集组织成一个队列,并且保留测试集,将测试集分成一个公共和私人的排行榜;

● 概括每一个数据集的处理过程,坚持下去,并不断修正这一过程,直到通过它你可以很容易地得到针对每一个小型数据集的顶级结果;

● 对每一个数据集规定时间上线,例如必须在几个小时内完成;

● 充分利用相关数据集的文档资料,以更好地定义既定问题和解释特征。

● 学习如何充分利用好每一个工具、算法和数据集。

总之,你需要认真对待每一个数据集,通过处理各种不同的数据集积累经验,并将这些经验应用到处理新的数据集中。

深入阅读:

● Practice Machine Learning with Small In-Memory Datasets

http://machinelearningmastery.com/practice-machine-learning-with-small-in-memory-datasets-from-the-uci-machine-learning-repository/ 

● Applied Machine Learning Process

http://machinelearningmastery.com/start-here/#process 

加入 Kaggle 大数据竞赛,总共分几步?

3. 练习旧的 Kaggle 题目

经过以上两步,现在你已经清楚地认识了自己的工具,并懂得如何去使用它们,是时候练习一些旧的 Kaggle 题目了。

你可以访问那些旧的 Kaggle 比赛的数据集,并针对这些数据发布自己的解决方案,然后在公共和私人的榜单上进行评估。

第三步的核心目的是:学习以往比赛中的顶级选手是如何处理竞赛性的机器学习问题的,然后将他们的方法融入自己的解题思路之中。相关注意事项包括:

● 尽量选择类型各不相同的问题,迫使自己学习和应用新的、与以往不同的技术;

● 研究论坛里的帖子、顶级选手的博客、GitHub 仓库和所有其他的相关资料,学习别人的解决方案;

● 以进入公共或私人排行榜的前 10% 为奋斗目标;

● 针对同一个数据集,尝试多个不同的获奖者的解决方案。

总之,你需要认真学习以往的优秀参赛者的解决方案和工具,并吸收他们的优点,进一步积累经验,将这些经验应用到新数据集的处理中。

深入阅读:

● Machine Learning is Kaggle Competitions

http://machinelearningmastery.com/machine-learning-is-kaggle-competitions/ 

● Discover the Methodology and Mindset of a Kaggle Master: An Interview with Diogo Ferreira

http://machinelearningmastery.com/discover-the-methodology-and-mindset-of-a-kaggle-master-an-interview-with-diogo-ferreira/ 

4. 在 Kaggle 上比赛

现在,你已经可以正式参加 Kaggle 比赛了。

下面是一些参赛的注意事项:

● 一次只处理一个问题,直到被卡住;

● 以进入每个问题的私人排行榜的前 25% 或前 10% 为奋斗目标;

● 尝试在论坛上自由分享,这会引发良性的互动和协作;

● 最大限度地缩短思考/阅读一个好主意和将之付诸实践的时间(例如几分钟之内);

最后需要强调的是,Kaggle 虽然的确是一场比赛,但我们应该抱着学习和分享的态度去参赛。

深入阅读:

● How to Kick Ass in Competitive Machine Learning

http://machinelearningmastery.com/how-to-kick-ass-in-competitive-machine-learning/ 

● Master Kaggle By Competing Consistently

http://machinelearningmastery.com/master-kaggle-by-competing-consistently/ 





本文作者:恒亮
本文转自雷锋网禁止二次转载,原文链接

版权声明:如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:developerteam@list.alibaba-inc.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
+ 订阅

秉承“关注智能与未来”的宗旨,持续对全球前沿技术趋势与产品动态进行深入调研与解读。

官网链接