跳至主要内容

Kaggle 竞赛:完整指南

全面了解 Kaggle 竞赛。弄清它们是什么、如何在其中取得成功,以及您应该在何时、为何参与。
Çağlar Uslu
Çağlar Uslu

创建您的免费账户

实践并学习路径你的进步。

使用 Google 继续继续即表示您接受我们的 使用条款,我们的 隐私政策 ,并且您的数据存储在美国。

Kaggle
目录

  • Kaggle 竞赛是什么?
  • 参加 Kaggle 竞赛值得吗?
  • 何时应该参加数据科学竞赛?
  • 什么是 Datacamp 竞赛?
  • 如何根据您的水平找到合适的 Kaggle 竞赛?(从初学者到高级技能)
  • Kaggle 竞赛技巧
    • 选择一门编程语言
    • 参加带有 "Getting Started" 标签的竞赛
    • 不要只用 Kaggle
    • 专注于学习
    • 学习他人的公开 Notebook
    • 阅读竞赛规则
    • 分享您的解决方案
    • 在 DataCamp 上学习这门课程
  • 什么是 Kaggle 排名?
    • Kaggle 勋章
      • 竞赛勋章
      • 数据集勋章
      • Notebook 勋章
      • 讨论勋章
    • 绩效段位
      • Novice(新手)
      • Contributor(贡献者)
      • Expert(专家)
      • Master(大师)
      • Grandmaster(宗师)
    • 从 Contributor 到 Expert 需要多长时间?
  • Kaggle 排名技巧
  • 结论

Kaggle 竞赛是什么?  

既然我们已经介绍了 Kaggle 的基础内容,如 Notebook 和数据集,现在可以来回答关于 Kaggle 竞赛最常见的问题:谁来组织?我能参加吗?我为什么要参加? 

最后一个问题是关键。Kaggle 竞赛围绕具有挑战性的机器学习任务展开,由 Kaggle 本身或其他大型公司、组织和大学主办。在这些竞赛中,用户与平台上的其他数据科学家比拼,提交由他们在竞赛期间构建的机器学习模型所做出的更准确的预测。提交后,平台会自动计算一个分数,用以反映其模型的表现。

一个常见的误解是,参加这些竞赛前必须修完概率与统计课程,或深入掌握某些机器学习库。实际上,无论您的水平如何,都可以也应该参与 Kaggle 竞赛。竞赛并非专家专属,人人都能从中获得宝贵经验,甚至借此构建数据科学作品集。

参加 Kaggle 竞赛值得吗?

  • 不论您在数据科学方面多有经验,在这个不断增长和发展的领域里,通过参加竞赛都能提升技能。这些数据科学竞赛会在您的能力范围内对您提出挑战。您在 Kaggle 或 DataCamp 数据科学竞赛中投入的时间和精力越多,您就会越快熟悉所用的库和编程语言。
  • 您将与全球各个水平的数据科学家同台竞争,获得属于自己的排名。
  • 您将有机会复盘获胜方案,并接触同一问题的不同解法。这会让您更容易从多角度分析具有挑战性的任务。
  • 您将获得高质量的数据集。这样,您可以将精力完全放在解题上,而无需考虑清洗数据、收集相关数据或自行创建一致且标注良好的数据集。
  • 您将有机会与竞赛获胜者及其他顶尖数据科学家进行技术讨论,从而扩展人脉。
  • 处理真实问题会激励您,并帮助您洞察数据科学家的日常工作和职责。
  • 还有明确的经济激励。

参加 Kaggle 或 DataCamp 的竞赛绝对值得。无论您的专业水平如何,您都能从上面列出的益处中至少找到一项与您相关。数据科学竞赛类型广泛,而且新竞赛会定期发布。即使您当下不感兴趣,也建议关注正在发布的竞赛,因为未来总会有至少一项与您相关。

何时应该参加数据科学竞赛?

在报名参加之前,请考虑以下三个标准:

  1. 在这场竞赛上投入的时间与精力,是否与您能获得的提升相匹配?
  2. 获胜背后的经济激励如何,是否值得您的时间?
  3. 作为数据从业者,这场竞赛的工作、研究与贡献是否会令您感到满意?

有些数据科学家乐于参加任何竞赛,只为拓展人脉和练习。然而,大多数人需要依据上述标准来判断一场竞赛是否值得参加。您也需要建立自己的标准,并在参赛前加以考虑。请始终记住:参与的竞赛越多,您从 Kaggle 获得的收获与学习经验就越多。

什么是 Datacamp 竞赛?

DataCamp 竞赛与 Kaggle 竞赛有许多相似之处。与 Kaggle 一样,在 DataCamp 上您可以查看公开分享的 Notebook,并且 DataCamp 竞赛同样设有奖品。如果您在竞赛中名列前茅,将获得 1 年的 DataCamp 高级订阅,还有机会赢得现金奖。DataCamp 也提供与 Kaggle 非常相似的环境,您可以通过讨论页面与各个水平的数据科学家交流。

不过,Kaggle 与Datacamp 竞赛之间也有一些重要差异。一方面,Kaggle 竞赛更侧重机器学习;另一方面,DataCamp 更强调在更广泛的语境中考察您的分析、叙事与可视化能力。此外,DataCamp 作为一个正在崛起的平台,参与者相对较少,获胜概率更大。

无论如何,切勿只以“获胜”为唯一目的参加竞赛。如果您把重心放在进步上,收获会更大。在这方面,DataCamp 也提供了很好的提升机会,且易于把握。

如何根据您的水平找到合适的 Kaggle 竞赛?(从初学者到高级技能)

Kaggle 允许您按标题或关键词筛选竞赛,因此很容易找到最感兴趣的内容。只需在搜索栏输入标题或关键词即可。

Kaggle Competition Search
图 5.1:竞赛搜索


您也可以按竞赛标签进行筛选。

Kaggle Competition Filter

图 5.2:竞赛筛选

除了标题、关键词和标签,还有三类主要筛选项:“Status(状态)”“Prizes and Awards(奖金与奖项)”以及“Categories(类别)”。

Status(状态):

  • Monetary:带有此标签的竞赛通常由大型、知名公司发布。如果您在这些竞赛中排名靠前,将获得现金奖励。最低奖金通常在 5,000 至 10,000 美元之间。奖金介于 50,000 至 100,000 美元的竞赛最为常见。最高奖金可达 100 万美元。
  • Medals:您将根据在竞赛中获得的分数赢得 Kaggle 勋章。有了这些勋章,您的排名会提升。Kaggle 排名在第 6 节中有详细说明。
  • Other:这些竞赛会奖励 Kaggle 周边,如 T 恤或贴纸。

Categories(类别):

  • Featured:这类竞赛通常由大型公司、组织乃至政府发布。其现金奖励远高于其他类别。
  • Research:研究主题的竞赛。奖金很少或没有。
  • Getting Started:不含任何奖励。通常为教学目的而设。在本节末尾,您会看到一个带有“Getting Started”标签的示例竞赛。您不仅能看到示例,还能看到关于如何使用 Notebook、如何提交结果等步骤的教程。
  • Playground:适合希望积累经验并持续提升技能的人。奖品通常是 Kaggle 周边(如 T 恤和贴纸)。这类竞赛往往更有趣且游戏化。
  • InClass:通常由大学举办,参与者为其机器学习课程的学生。目标是吸引并激励学生。
  • Analytics:数据分析类竞赛。
  • Simulations:区别于 Kaggle 传统的有监督机器学习挑战,这类竞赛涉及强化学习任务。参赛者开发模型,并让模型在模拟环境中对抗。

除主要筛选项外,您还可以按其他参数对竞赛排序,如“Hotness(热度)”“Recently Launched(最新发布)”“Closing Soon(即将截止)”“Reward(奖励)”和“Total Teams(参赛队伍总数)”。

图 5.3:竞赛排序

Kaggle 竞赛技巧

1. 选择一门编程语言

Python 和 R 是数据科学领域最常用的编程语言,尤其在可视化与机器学习任务中。如果您在想 MATLAB,可以在本地计算机上进行数据科学任务,但 Kaggle Notebook 仅支持 Python、R 和 Julia。 

如果您使用其他编程语言,某些任务可能更顺手,但让一门语言强大的往往是其背后的社区与开源库生态。需要注意的是(使用更流行的语言时)您在本地导入的库,同样可以在 Kaggle 上导入。

如果您是初学者,Python 或 R 是很好的起点,并建议坚持使用直至在该领域站稳脚跟。请记住,Kaggle 上共享的许多 Notebook 都用 Python 编写,如果您需要学习它们,掌握这门语言会更轻松。

2. 参加带有 "Getting Started" 标签的竞赛

Getting Started 非常适合初学者。如果您完成这些竞赛并复盘他人分享的 Notebook,您会收获颇丰,且进步相对较快。

以下是我们按知识背景推荐的一些 Getting Started 竞赛:

3. 不要只用 Kaggle 

当您尝试了上面列出的基础级别竞赛并积累了一点经验后,不妨在不同平台上寻找竞赛。 

在 DataCamp,您可以参加诸如“数据科学竞赛”中的“为饮料公司设计促销策略”之类的项目,这类竞赛会要求您在自身能力范围内做一些研究并多走一步。这项竞赛的特别之处在于,它不仅仅关注机器学习,还会显著考验参赛者的分析、叙事和可视化能力。您可以在参赛作品选项卡中查看该竞赛的共享 Notebook。

为最大化成功机会并充分利用本次竞赛,建议您先完成以下课程:

4. 专注于学习

Kaggle 竞赛的奖金很可观,这可能会诱使您偏离学习目标。不要把注意力放在奖金上,而要优先考虑学习与提升。一旦积累了足够经验,再考虑如何冲击榜首也不迟。

5. 学习他人的公开 Notebook

学习竞赛中分享的 Notebook,将帮助您掌握解决同一问题的不同方法。

6. 阅读竞赛规则

在决定参赛前,请阅读竞赛信息与规则,并确保在报名之前已完全理解。

7. 分享您的解决方案

分享您的解决方案会增加您与其他数据科学家的互动,并能获得他人的反馈。通过就您的方案发起讨论话题,您能更快获得勋章,并迅速提升 Kaggle 排名。有关 Kaggle 排名的更多信息见第 6 节。

8. 在 DataCamp 上学习这门课程

DataCamp 的 Winning a Kaggle Competition in Python 课程将教您如何构思与组织任何数据科学竞赛的参赛方案。通过学习,您将掌握竞赛中使用的所有基础技术,如如何验证机器学习模型,以及如何避免过拟合。 

什么是 Kaggle 排名?

Kaggle 排名系统是一个实时排行榜,用于给不同水平、以不同方式为 Kaggle 做出贡献的数据科学家排名,贡献形式包括评论、参加 Kaggle 竞赛等。 

除了主排行榜外,还有四种不同类型的排名:“Competition(竞赛)”“Dataset(数据集)”“Notebook”和“Discussion(讨论)”。您可以在个人主页查看自己在各类别的等级。随着您在上述类别中获得勋章,您的排名与段位将随之提升。请记住,勋章通过竞赛评分与点赞获得。

Kaggle 共设五个主要段位:“Novice(新手)”“Contributor(贡献者)”“Expert(专家)”“Master(大师)”和“Grandmaster(宗师)”。目前,“Kaggle Grandmaster”这一顶级段位仅有 241 名数据科学家,足见其难度之高。至于其他段位,目前有 1,668 名大师、7,206 名专家、64,668 名贡献者和 92,747 名新手。与您获得的勋章数量一样,您所处的段位将对职业发展大有裨益。

Kaggle 勋章

勋章代表在某一类别中的单项成就。这种成就可能是一项优异的竞赛成绩、一篇受欢迎的 Notebook、一个有用的数据集或一条有见地的评论等。平台会对您的成就进行标准化,并通过与其他数据科学家的贡献对比来建立排名体系。

竞赛勋章

竞赛勋章由您在竞赛中的排名决定。请注意,InClass、Playground 和 Getting Started 类别的竞赛不授予勋章。

在参赛队伍为 0–99 支的竞赛中,进入前 40% 可获铜牌,前 20% 获银牌,前 10% 获金牌。随着队伍数量增加,勋章的分配也会变化。比如,在参赛队伍≥1000 的竞赛中,前 10% 获铜牌,前 5% 获银牌,前 10 支队伍获金牌。

数据集勋章

您分享的数据集越受欢迎,获得的点赞越多。数据集勋章取决于这些点赞数。获得 5–20 个赞授予铜牌,20–50 个赞授予银牌,50 个及以上授予金牌。来自新手级用户的点赞不计入统计。

Notebook 勋章

Notebook 勋章与数据集勋章的规则相同。Notebook 获得 5–20 个赞授予铜牌,20–50 个赞授予银牌,50 个及以上授予金牌。来自新手级用户的点赞不计入统计。 

讨论勋章

讨论勋章根据净投票数(赞减踩)计算获得。对您旧帖的投票以及来自新手级的投票不计入统计。获得 1 个净投票即可拿到铜牌;获得 5–10 个净投票可得银牌;净投票达到 10 个及以上可获金牌。

绩效段位

您会在每个排名类别(“Competitions”“Datasets”“Notebooks”“Discussions”)中被分配一个段位。您在所有类别中的最高段位将显示为个人主页上的主段位。

Novice(新手)

在平台注册后,您会自动获得该段位。

Contributor(贡献者)

成为“贡献者”的条件如下:

  • 运行一个 Notebook 或脚本
  • 进行一次竞赛或任务提交
  • 发表一条评论
  • 点一次赞

Expert(专家)

要成为“专家”,您必须至少获得 2 枚竞赛铜牌;至少 3 枚数据集铜牌;至少 5 枚 Notebook 铜牌;以及至少 50 枚讨论铜牌。

Master(大师)

要达到“大师”段位,您必须至少获得 1 枚竞赛金牌和 2 枚银牌;数据集至少 1 枚金牌与 4 枚银牌;Notebook 至少 10 枚银牌;讨论至少 200 枚勋章,其中至少 50 枚需为银牌。

Grandmaster(宗师)

要成为“宗师”,您需要至少获得 5 枚竞赛金牌,其中至少 1 枚为单人金牌;数据集至少 5 枚金牌与 5 枚银牌;Notebook 至少 15 枚金牌;讨论至少 500 枚勋章,其中 50 枚需为金牌。

从 Contributor 到 Expert 需要多长时间?

这完全取决于您在 Kaggle 上的坚持与投入。根据这项分析,平均而言,从贡献者到专家大约需要 1 年时间。这个周期因每位数据科学家愿意在 Kaggle 上投入的努力程度而异。比如,如果您把时间花在学习和提升上,拿到专家徽章可能会更久;但如果您只是尽可能快地去刷勋章,那么可能会更短。

通常更好的是把时间投入到真正的进步上,而不只是拿勋章。要提升知识和技能、推动职业发展,真正的实践经验才是关键。 

Kaggle 排名技巧

如前所述,您的目标应该是利用 Kaggle 或 DataCamp 来拓展人脉、提升技能,并尽可能多地学习。 

当然,获得勋章也很有价值。由于勋章的获得条件也取决于较高的点赞数,您应考虑如何提高收到的点赞量。以下建议将帮助您提升勋章数量:

  • 不要索要点赞。只要努力提供有用信息,点赞自然会来。事实上,向他人索要点赞可能适得其反,甚至会被点踩。
  • 标注原作者常常能为您带来更多点赞。但请有选择地使用,仅在确实能为帖子增值时采用,以免有刷屏之嫌。
  • 请记住:专注于提升技能,勋章自会随之而来。

 Kaggle 的段位与勋章是您真实成就的可见体现。随着进步,看到这些成就被量化,很可能会进一步激励您。

结论

参加 Kaggle 或 DataCamp 的数据科学竞赛既有趣,又是推动您开启数据科学之旅的工具之一。尽管有些优秀的数据科学家会把竞赛奖金纳入收入模型,但大多数人的目标是尽可能多地从竞赛中学习,并获得真实经验。 

其中最有帮助的因素,是提升竞赛排名的动力。有了这股动力,数据科学家会去阅读他人的 Notebook,学习不同的代码与策略。竞赛结束后他人对您代码的建议,甚至可以视为一种免费的指导。

若想一步步了解如何为竞赛分析一个数据集,请查看我们的 Kaggle 竞赛教程。  

主题