专栏名称: 新智元
智能+中国主平台,致力于推动中国从互联网+迈向智能+新纪元。重点关注人工智能、机器人等前沿领域发展,关注人机融合、人工智能和机器人革命对人类社会与文明进化的影响,领航中国新智能时代。
目录
相关文章推荐
爱可可-爱生活  ·  【AgentStack:快速构建强大AI ... ·  昨天  
歸藏的AI工具箱  ·  过去一周最全的AI资讯和内容:AIGC ... ·  3 天前  
歸藏的AI工具箱  ·  过去一周最全的AI资讯和内容:AIGC ... ·  3 天前  
黄建同学  ·  #2024年诺贝尔化学奖揭晓##AI教父获诺 ... ·  1 周前  
51好读  ›  专栏  ›  新智元

【打怪升级】这是一份为数据科学初学者准备的Kaggle竞赛指南

新智元  · 公众号  · AI  · 2017-08-20 13:25

正文

 

1新智元推荐  

智能观授权新智元转载


【新智元导读】  这份入门指南详细介绍了一些参加Kaggle竞赛必知的知识,以及如何在Kaggle竞赛中打怪升级,争夺排位,“登上人生巅峰”!



我从哪里开始?


我会面对经验丰富的博士级研究团队么?


如果我没有获胜的机会,那么还值得竞争吗?


这就是数据科学?(如果在Kaggle做得不好,我在数据科学方面还有未来吗?)


我的未来将如何发展?


当你第一次接触Kaggle时,是否也有这些困惑?好,那你来对地方了!


这份入门指南详细介绍了一些参加Kaggle竞赛必知的知识,以及如何在Kaggle竞赛中打怪升级,争夺排位,“登上人生巅峰”!


对于数据科学初学者来说,Kaggle是一个很受欢迎的竞赛平台。毕竟,这里的一些竞赛中有超过1000000美元的奖金池和数以百计的行业高手。而这里的顶尖团队也拥有数十年的综合经验,曾处理过很多高大上的问题,如改善机场安全或分析卫星数据等。


虽然Kaggle如此有吸引力,但是当你首次参与时也要hold住自己,一定要理清以下内容。


Kaggle 和日常数据科学的差异


首先,我们需要知道的是: Kaggle比赛与日常使用的数据科学是有重要差异的。但是,如果你以正确的心态去了解它们,还是能获取很多宝贵经验的。


Kaggle比赛


本质上,比赛(获奖)必须符合以下3个标准:


1. 问题一定很难。比赛问题不可能一个下午就能解决。为了获得最好的投资收益,主办方会提交使他们的效益最大,同时也是最难解决的问题。


2. 解决方案必须是新的。为了赢得最新的比赛,你通常需要进行扩展研究、制定算法、训练高级模型等。


3. 必须与他人竞争。因为比赛的目标就是赢得冠军,所以你的解决办法必须与他人的竞争,而且争取获胜。


日常的数据科学


相比之下,日常数据科学不需要达到相同的标准。


1. 解决问题的方法越简单越好。事实上,数据科学家应该尝试事半功倍的方法:能够快速有效地解决有影响力的项目。


2. 解决方案必须成熟。大多数常见的任务(如探索性分析、数据清理、A/B测试、经典算法)已经有了证明框架。只需要重新设计架构即可。


3. 不需要与他们竞争成为第一。一个解决方案即使只是胜过之前的测试基准一点点,也可能是非常有价值的。


Kaggle竞赛鼓励你发挥出最优秀的表现,而日常中的数据科学提倡效率和最大化的商业影响。


那么,Kaggle是值得学习的吗?


尽管Kaggle和日常数据科学有很大的不同,但是对于初学者来说,Kaggle仍然是一个很好的学习工具。以下是Kaggle竞赛的3大优势:


1. 每场比赛都是各自独立的。你不需要再扩展自己上一个项目,并收集数据,这可以让你把心思放在其他技能上。


2. 实践就是实践。学习数据科学的最好方法是通过实践学习。你没有必须赢得每一场比赛的压力,同时可以遇到许多有趣的问题。


3. 相互讨论和优胜者访谈对你都有启发性。每一场比赛都有讨论区以及优胜者访谈。你可以深入了解更有经验的数据科学家的思维过程。



Kaggle优胜者访谈


如何开始Kaggle的工作


接下来是一个循序渐进的行动计划,让你在Kaggle上可以轻松提升自己,参与竞争。


步骤1:选择一种编程语言


首先,你需要选择一种编程语言并坚持使用它。在Kaggle和更广泛的数据科学社区论坛中,Python和R都很受欢迎。


如果这俩你都没有接触过,推荐Python,因为它是一种通用的编程语言,你可以端到端使用它。


步骤2:学习数据的基础知识


加载、导航和绘制数据(即探索性分析)的能力是数据科学的第一步,因为它告诉了你在整个模型训练过程中所做的各种决策。


如果你选择了Python语言,那么建议你使用专门为此而设计的Seaborn数据库。 它有许多绘制最常见和有用的图表的高级功能。


步骤3:训练你的第一个机器学习模型


在进入Kaggle之前,建议你在更容易、更易于管理的数据集上对模型进行训练。这可以让你熟悉机器学习库和空间布局。


关键是要养成良好的习惯,比如,将数据集分解为单独的训练集和测试集,交叉验证以避免过度使用,并使用合适的性能指标。


对于Python来说,最好的通用机器学习库是“scikit-Learn”。


步骤4:着手准备入门赛


现在我们已经作好技术准备,该来了解一下Kaggle了!


Kaggle最常见的比赛类型包括以下4种:


特色赛:通常是由公司、组织,甚至是政府赞助的。他们有最大的奖金池。


研究赛:面向研究,几乎没有奖金。他们也有非传统的提交过程。


招聘赛:是由想招聘数据科学家的公司赞助的,比较少见。


入门赛:有很多比较有特色的比赛,但是没有奖金池。它们提供了易于处理的数据集、大量的教程和循环的提交窗口,这样你可以随时参加比赛。


入门赛比较适合初学者,因为它给了你一个低风险的学习环境。同时,你还能得到许多社区、论坛创建的教程。



步骤5: 学习经验教训,而不是关注收益


有了上述基础,大显身手的时候到了!


一般来说,参加Kaggle比赛需要很多时间和精力,还要合理安排。因此,建议你明智地选择对手。尽量参加能使你实现长期目标的竞赛,获取其中的技术和技巧。

虽然奖金很诱人,但更有价值(更可靠)的奖励是你可以获得为自己的职业发展所需要的技能。


在Kaggle比赛中节约时间的7个小技巧


技巧1:设定递增目标


如果你玩过“Addicting Games”游戏,就会知道递增目标的魅力。这就是能让你着迷的,很牛的游戏的手段。每一个目标都足够大,足以让人有成就感,但却足够现实,让你触手可及。


大多数的参赛者都不可能一上来就赢得一场比赛,如果你把赢一场作为你的第一个目标,那么很容易感到气馁,在尝试了几次之后就失去动力了。循序渐进的目标会使你的kaggle之旅更加愉快。


例如:


1.在一场比赛中得分居于前50%。

2.在一场比赛中得分居于前25%。

3.在一场比赛中得分居于前10%。

4.赢得比赛!


这个策略可以让你在参赛过程中衡量自己的进步和改变。


技巧2:查看最流行的参赛者内核


Kaggle有一个很棒的特点,参赛者可以提交内核——一种简短的脚本,可以探索一个概念,展示一种技术,甚至可以共享一个解决方案。


当你开始一场比赛,或者当你达到一个顶峰时,回顾流行的内核可以激发出更多的想像。



技巧3:在论坛上提问


不要害怕问“愚蠢” 的问题。你会有很多收获,包括来自经验丰富的数据科学家的建议和指导。


技巧4:独立开发核心技能


一开始,建议你单独工作。这将迫使你独立处理应用机器学习过程的每一个步骤,包括探索性分析、数据清理、特性工程和模型培训。


如果你过早地开始合作,你可能会错过发展这些基础性技能的机会。


技巧5:利用团队合作突破瓶颈


也就是说,在未来的比赛中进行合作可能是一个很好的方式,向其他人学习,突破个人局限。过去,许多赢家都是团队,他们联合起来就意味着把更多优秀的知识结合起来。


此外,一旦你掌握了机器学习的技术,你就可以与比你有更多领域知识的人合作,进一步拓展自己的能力。


技巧6:记住,Kaggle也可能只是一个垫脚石


记住,你并不一定要成为一个长期的“竞技高手”。如果你发现你不喜欢这种模式,那也没什么大不了的。


事实上,许多人在开始自己的项目或成为全职数据科学家之前,只是把Kaggle当作垫脚石。


这也是你应该尽可能多地专注于学习的另一个原因。从长远来看,参加Kaggle最好的目标是获得相关经验,而不是追逐最多的奖金。


技巧7:不要担心等级低


一些初学者不敢参加比赛,因为他们担心别人看到自己的低级别而感到难为情。当然,竞技焦虑是一种真实的现象,并不只局限于Kaggle。


然而,低级别并不是什么大问题。没有人可以评判你,因为他们都是初学者。


即便如此,如果你仍然对个人资料中的低排名感到担忧,那么也可以创建一个单独的练习账号来学习技巧。一旦你感觉时机成熟,就可以使用自己的 “主账号”进击排行榜了。