到底要不要参加Kaggle竞赛

【编者按】数据科学家Reshama Shaikh分享了参加Kaggle的理由,并简要介绍了如何入门Kaggle。

关于Kaggle

Kaggle是最著名的预测建模分析竞赛平台。Kaggle公司于2010年在澳大利亚的墨尔本成立,在收到硅谷的投资之后迁往旧金山。2017年被Google收购。如果想了解更多关于Kaggle的历史和未来,可以看AMA with Anthony Goldbloom(Kaggle CEO的访谈)。

在过去十年来,英文语境中的“数据科学”(data science)一词的含义逐渐发生了变化。同样,“数据科学”和“kaggle”也逐渐变得密不可分,与此同时,数据科学社区中的很多人在探究和争辩这一平台的用途:

Kaggle……有用吗?

我对Kaggle最初的想法

和很多人一样,我对Kaggle竞赛抱有一些成见。我听说Kaggle有好几年了,也从数据科学领域的其他人那里获得了一些对Kaggle的认识:

  • 我听说过拥有数十年经验的退休博士成为Kaggle竞赛赢家的传奇(我过去常常好奇这些天才是在沙滩上参赛的,享受着碧水蓝天和流畅的wifi,还是呆在昏暗、满是灰尘的、乱糟糟的办公室里参赛的……)
  • 我获胜的概率为零。
  • 我真的能学到有价值的东西吗?
  • 投入时间提升精确度0.01有何意义?
  • 这真的是使用我的时间的最好方式吗?还是说我应该花时间学习另一项更有价值的数据科学技能?
  • 赢家需要使用复杂的集成方法。
  • 数据很干净,人为地干净,一点也不现实。
  • 参加一项Kaggle竞赛并不能让我成为一个合格的数据科学家,所以何必呢?
  • 我不知道从何开始……

我的第一项Kaggle竞赛

在抗拒了几年之后,我最近第一次参加了Kaggle竞赛,Is it a Ship or Iceberg。我写了一篇文章,分享了初次参加Kaggle竞赛的体验。

到底要不要参加Kaggle竞赛

Kaggle竞赛和纽约马拉松

我发现Kaggle竞赛和纽约马拉松很像。大部分参赛者是为了享受过程,而不是赢得第一。

结论:参加吧

要不要参加Kaggle?我的答案:“是”。不管是数据科学的初学者,还是资深的数据科学家,参加Kaggle竞赛都是有价值的。下面是一些理由。

评测

获取你自己的数据集或从网站抓取数据能让你学到很多,但这么做的缺点是没有评测标准,无法比较你的发现。有可能你犯了大错,但无人知晓,因为没有经过验证。Kaggle竞赛则提供了一个“检查你的作品”的平台。

不同水平的人都能从中学到东西

初学者有很多可以学的:

  • 熟悉Kaggle平台
  • 如何使用命令行或API从Kaggle获取数据
  • 结构化的生态系统让高级统计学技能不足的人集中全力解决问题
  • 理解评估指标
  • 开发、运维技能:Git、云计算
  • 练习
  • Kaggle提供了一些免费的交互式教程

有经验的从业人员,仍有许多东西可以学习:

  • 结构化的生态系统让具备高级统计学技能的人集中全力解决问题
  • 更深入地探索超参数
  • 聚焦当前最先进的新方法
  • 赛后分析赢家的做法
  • 管理大规模数据集(超过一百万项记录)
  • 配置GPU机器进行深度学习
  • 使用深度学习并与传统算法比较结果

数据

整个数据科学社区都在谈论论数据集。你能在Kaggle上熟悉其他学习平台以及会议发言人提到的流行的数据集。

尽管Kaggle提供了数据集,你仍然需要理解数据和评估指标。和流行的观点不同,仍有需要进一步检查的“脏数据”。深入分析错误标记项将带来算法方面的调整。

作品集的组成部分

没错,参加Kaggle竞赛并不能证明你胜任数据科学家的工作。参加一门课程、出席一次会议、分析一个数据集、阅读一本数据科学的书也不能。参加竞赛增加了你的经验,增强了你的作品集。它是你其他项目的补充,而不是数据科学技能集的唯一证明。

获得乐趣

人们经常不确定是否要追寻一个数据科学的职位。参加竞赛是一种测量你的能力和兴奋点的非正式方法。如果你确实很享受参加Kaggle的过程,那说明你的方向没错。如果你选择把时间花在其他事情上面,那也很好;这是一种找到答案的方法。

Kaggle入门

入门指南

EliteDataScience上的The Beginner’s Guide to Kaggle提供了关于Kaggle的详尽信息,以及上手Kaggle的一些技巧。

核(kernel)是Kaggle用户分享的代码(Jupyter Notebook形式,R或Python)。参加竞赛时,你可以复制、使用这些代码。

讨论区

每项竞赛都有一个讨论区,可以交流问题,给核、主题投票。

Slack

Kaggle有一个Slack小组:KaggleNoobs,拥有近四千成员,另外还有一个AMA(Ask Me Anything,问我任何事)频道,经常访谈Kaggle参赛者和赢家。

选择

  • 你可以参加已经结束的竞赛。记住,参加Kaggle是为了学习,而不是最终结果。
  • 有各种各样的主题(随机森林、多元分类、神经网络、NLP)和各种各样的数据集(图像、结构化数据、文本、大数据)

组队

  • 不管你是初学者还是有经验的数据科学家,都可以组队。
  • 刚开始可以作为独立的小组参赛,以最大化每日的结果提交数量,在竞赛快结束时再合并小组。

结论

我觉得很有必要参加至少一次竞赛。对没试过的东西的看法,和已经尝试过的东西的看法,是不一样的。和一切事物一样,Kaggle在不断演化,特别是Google收购以后。过段时间可以回去看看,有没有什么新东西。

不必局限于Kaggle

尽管Kaggle是最出名的平台,参加竞赛的机会还有很多:

  • 许多大学的数据分析部门举办年度竞赛
  • 会议经常会办一些竞赛(有时称为“任务”)
  • 私营公司会赞助自己的竞赛


分享到:


相關文章: