Kaggle初学者五步入门指南,七大诀窍助你享受竞赛

Kaggle 是一个流行的数据科学竞赛平台,已被谷歌收购,参阅《业界 | 谷歌云官方正式宣布收购数据科学社区 Kaggle》。作为一个竞赛平台,Kaggle 对于初学者来说可能有些难度。毕竟其中的一些竞赛有高达 100 万美元的奖金池和数百位参赛者。顶级的团队在处理机场安全提升或卫星数据分析等任务上拥有数十年积累的经验。为了帮助初学者入门 Kaggle,EliteDataScience 近日发表了一篇入门介绍文章,解答了一些初学者最常遇到的问题。机器之心对这篇文章进行了编译介绍,另外也增加了一些机器之心之前发过的文章作为补充资源。

一些初学者会犹豫要不要参加 Kaggle 竞赛,这并不让人奇怪,他们通常有以下顾虑:

  • 我该如何开始?
  • 我要和经验丰富的博士研究者比赛吗?
  • 如果没有获胜的机会,还值得参与吗?
  • 这就是数据科学吗?(如果我在 Kaggle 上表现不好,我在数据科学领域还有希望吗?)
  • 未来我该如何提升我的排名?

如果你有其中任何问题,你就看对了文章。在这篇指南中,我们会解读上手 Kaggle、提升技能和享受 Kaggle 所需要了解的一切。

Kaggle vs.「经典的」数据科学

首先,我们要清楚了解:

Kaggle 竞赛和「经典的」数据科学有一些重要的不同之处,但只要你以正确的心态接触它,就也能收获有价值的经验。

让我们解释一下:

Kaggle 竞赛

本质上,带有奖金池的竞赛必须满足一些标准:

  • 问题必须困难:竞赛不应该是一个下午就能解决的任务。为了得到最好的投资回报,主办公司会提交他们最大最难的问题。
  • 解决方案必须新:要赢得最新的竞赛,你通常需要进行扩展研究、定制算法、训练先进的模型等等。
  • 表现必须能比较:竞赛必须要决出优胜者,所以你和其他对手的解决方案必须要被评分。

「经典的」数据科学

相对而言,日常所用的数据科学并不需要满足这些标准。

  • 问题可能简单。实际上,数据科学家应该尽力确认易于实现的成果:可以快速解决的富有成效的项目。
  • 解决方案可以是成熟的。大多数常见任务(比如探索分析、数据清理、A/B 测试、经典算法)都已经有了已得到证明的框架。没必要重新发明轮子。
  • 表现可以是绝对的。即使一个解决方案只是简单地超越了之前的基准,那也非常有价值。

Kaggle 竞赛鼓励你竭尽所能,而经典数据科学则推崇效率和最大化的业务效果。

Kaggle 竞赛值得参加吗?

尽管 Kaggle 和经典数据科学之间存在差异,但 Kaggle 仍然是一种很好的入门工具。

每个竞赛都是独立的。无需设置项目范围然后收集数据,这让你有时间专注其它技能。

练习就是实践。学习数据科学的最好方法是在做中学。只要没有每场竞赛都获胜的压力,你就可以练习各种有趣的问题。

讨论和获胜者采访很有启发性。每个竞赛都有自己的讨论板块与获胜者简报。你可以窥见更有经验的数据科学家的思考过程。

Kaggle 获胜者采访

怎样入门 Kaggle?

接下来,我们将给出一个按步进行的行动规划,然后慢慢上升到 Kaggle 竞赛中。

第一步:选择一种编程语言

首先,我们推荐你选择一种编程语言,并坚持使用。Python 和 R 在 Kaggle 和更广泛的数据科学社区上都很流行。

如果你是一个毫无经验的新手,我们推荐 Python,因为这是一种通用编程语言,你可以在整个流程中都使用它。

参考:

第二步:学习探索数据的基础

加载、浏览和绘制你的数据(即探索性分析)的能力是数据科学的第一步,因为它可以为你将在模型训练过程中做的各种决策提供信息。

如果你选择了 Python 路线,那么我们推荐你使用专门为这个目的设计的 Seaborn 库。其中有高层面的绘图函数,可以绘制许多最常见和有用的图表。

参考:

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

在进入 Kaggle 之前,我们推荐你先在更简单更容易管理的数据集上训练一个模型。这能让你熟悉机器学习库,为以后的工作做铺垫。

关键在于培养良好的习惯,比如将你的数据集分成独立的训练集和测试集,交叉验证避免过拟合以及使用合适的表现评价指标。

对于 Python,最好的通用机器学习库是 Scikit-Learn。

参考:

第四步:解决入门级竞赛

现在我们已经准备好尝试 Kaggle 竞赛了,这些竞赛分成几个类别。最常见的类别是:

  • Featured:这些通常是由公司、组织甚至政府赞助的,奖金池最大。
  • Research:这些是研究方向的竞赛,只有很少或没有奖金。它们也有非传统的提交流程。
  • Recruitment:这些是由想要招聘数据科学家的公司赞助的。目前仍然相对少见。
  • Getting Started:这些竞赛的结构和 Featured 竞赛类似,但没有奖金。它们有更简单的数据集、大量教程和滚动的提交窗口让你可以随时输入。

Getting Started 竞赛非常适合初学者,因为它们给你提供了低风险的学习环境,并且还有很多社区创造的教程:https://www.kaggle.com/c/titanic#tutorials

第五步:比赛是为了更好地学习,而不是赚钱

有了上面的基础,就可以参与到 Featured 竞赛中了。一般来说,为了取得好排名,通常需要远远更多的时间和精力。

因此,我们建议你明智地选择参与项目。参加竞赛能帮你深入到你希望长期参与的技术领域中。

尽管奖金很诱人,但更有价值(也更可靠)的回报是为你的未来事业所获得的技能。

享受 Kaggle 的小诀窍

最后,我们将介绍几个参与 Kaggle 的最受欢迎的诀窍,希望能帮你享受你的 Kaggle 时光。

诀窍 1:设置循序渐进的目标

如果你曾经玩过什么让人上瘾的游戏,你就知道循序渐进的目标的重要性。那就是好游戏让人着迷的诀窍。每一个目标都要足够大,以便带来成就感;但也不能太大,不然无法实现。

大多数 Kaggle 参与者都没赢过任何一场竞赛,这完全正常。如果把获胜作为第一个里程碑,你可能会失望,尝试几次之后可能就会失去动力。循序渐进的目标会让你的旅程更加愉快。比如:

提交一个超越基准解决方案的方案

  • 在一场竞赛中进入排名前 50%
  • 在一场竞赛中进入排名前 25%
  • 在三场竞赛中进入排名前 25%
  • 在一场竞赛中进入排名前 10%
  • 赢得一场竞赛!

这种策略让你可以一路衡量你的进展和进步。

诀窍 2:查阅得票最多的 kernel

Kaggle 有一个非常厉害的功能:参与者可以提交 kernel,即用于探索一个概念、展示一种技术或分享一种解决方案的短脚本。

当你开始一场竞赛或感觉进步停滞时,查阅受欢迎的 kernel 或许能给你带来灵感。

诀窍 3:在论坛中提问

不要害怕问「愚蠢的」问题。

提问能遇到的最糟糕的事情是什么?也许你会被忽视……仅此而已。

另一方面,你能得到很多回报,包括来自经验更丰富的数据科学家的建议和指导。

诀窍 4:独立发展核心技能

开始的时候,我们建议你独自工作。这将迫使你解决应用性机器学习流程中的每一步,包括探索性分析、数据清理、特征工程和模型训练。

如果过早地和人组队,你就可能会错失发展这些基本技能的机会。

诀窍 5:组队以拓展你的极限

虽然太早组队不好,但在未来的比赛中组队让你能向其他人学习,进而拓展你的极限。过去的许多获胜者都是团队,这让他们可以结合彼此的知识共同施展力量。

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

诀窍 6:记住 Kaggle 可以成为你的垫脚石

记住,你不一定要成为一个长期的 Kaggle 人。如果发现你不喜欢这种形式,也没什么大不了的。

实际上,许多人在做自己的项目或成为全职数据科学家之前都会使用 Kaggle 作为自己的垫脚石。

所以你的关注重点应该是尽可能地学习。长远来看,参与能给你带来相关经验的竞赛比参加有最高奖金的竞赛更好。

诀窍 7:不要担心排名低

有些初学者担心低排名出现在他们的个人资料中,结果一直没有开始。当然,比赛焦虑是很正常的现象,并不只限于 Kaggle。

但是,排名低真的没什么关系。没人会因此贬低你,因为他们曾经某个时候也是初学者。

即便如此,如果仍然担心个人资料里的低排名,你可以再单独创建一个练习账号。一旦觉得自己能力不错了,就可以开始用你的「主帐号」来建立丰功伟绩了。(再说一下,这么做毫无必要!)

结论

在这篇指南中,我们分享了上手 Kaggle 的 5 大步骤:

  1. 选择一种编程语言
  2. 学习探索数据的基础
  3. 训练第一个机器学习模型
  4. 解决入门级竞赛
  5. 比赛是为了更好地学习,而不是赚钱

最后,我们分享了享受这个平台的 7 个诀窍:

  • 设置循序渐进的目标
  • 查阅得票最多的 kernel
  • 在论坛中提问
  • 独立发展核心技能
  • 组队以拓展你的极限
  • 记住 Kaggle 可以成为你的垫脚石
  • 不要担心排名低

原文链接:https://elitedatascience.com/beginner-kaggle

原文地址:https://www.cnblogs.com/invisible2/p/10651602.html

时间: 2024-10-08 10:56:44

Kaggle初学者五步入门指南,七大诀窍助你享受竞赛的相关文章

一步一步入门机器学习之五:机器学习自学指南

事实上有许多的途径可以了解机器学习,也有许多的资源例如书籍.公开课等可为所用,一些相关的比赛和工具也是你了解这个领域的好帮手.本文我将围绕这个话题,给出一些总结性的认识,并为你由程序员到机器学习高手的蜕变旅程中提供一些学习指引. 机器学习的四个层次 根据能力可以将学习过程分成四个阶段.这也是一个有助于我们将所有学习资源进行分类的好方法. 初学阶段 新手阶段 中级阶段 高级阶段 我之所以把初学阶段和新手阶段区分开来,是因为我想让那些完全初学者(对这个领域感兴趣的程序员)在初学阶段对机器学习有一个大

React-Native入门指南(五)——UI组件

React-Native入门指南 github:https://github.com/vczero/react-native-lession React-Native:用JavaScript开发你的原生应用,释放Native的UI体验,体验 Hybird开发效率. 最近一个星期写的文章如下: 第1篇hello react-native 第2篇认识代码结构 第3篇css和布局 第4篇学会react-native布局 第5篇ui组件 还有几篇需要这这周完成(这块会时刻更新): 第6篇JSX语法 第7

快速入门git第五步

在初始化仓库的时候,做好用git --bare init 而不要用git init ,如果使用了git init初始化,则远程仓库的目录下,也包含work tree,当本地仓库向远程仓库push时, 如果远程仓库正在push的分支上(如果当时不在push的分支,就没有问题), 那么push后的结果不会反应在work tree上, 也即在远程仓库的目录下对应的文件还是之前的内容,必须得使用git reset --hard才能看到push后的内容.查看历史记录: git log git log -p

AJAX入门---五步使用XMLHttpRequest对象

XMLHttpRequest简介: XMLHttpRequest对象可以在不向服务器提交整个页面的情况下,实现局部更新网页.当页面全部加载完毕后,客户端通过该对象向服务器请求数据,服务器端接受数据并处理后,向客户端反馈数据.XMLHttpRequest 对象提供了对 HTTP 协议的完全的访问,包括做出 POST 和 HEAD 请求以及普通的 GET 请求的能力.XMLHttpRequest 可以同步或异步返回 Web 服务器的响应,并且能以文本或者一个 DOM 文档形式返回内容.尽管名为 XM

C语言程序设计入门学习五步曲(转发)

笔者在从事教学的过程中,听到同学抱怨最多的一句话是:老师,上课我也能听懂,书上的例题也能看明白,可是到自己动手做编程时,却不知道如何下手.发生这种现象的原因有三个: 一.所谓的看懂听明白,只是很肤浅的语法知识,而我们编写的程序或软件是要根据要解决问题的实际需要控制程序的流程,如果你没有深刻地理解C语言的语句的执行过程(或流程),你怎么会编写程序解决这些实际问题呢? 二.用C语言编程解决实际问题,所需要的不仅仅是C语言的编程知识,还需要相关的专业知识.例如,如果你不知道长方形的面积公式,即使C语言

单片机入门指南系列(〇)序

单片机入门指南系列(〇)序 本文由PurpleSword(jzj1993)原创,转载请注明 原文网址 http://blog.csdn.net/jzj1993 我是在上大学时开始接触单片机的,当时走了很多弯路,花了很多时间,才终于比较全面的理解和掌握了单片机.回想起来,从对很多东西毫无概念,到有所认识,直到最终能理解并完全掌握,确实经历了很多.也正是因为这样一些经历,我比较理解初学者的迷茫,后来帮过很多初学者,带动他们去学习单片机等电子设计知识.和初学者的交流中,一方面,我巩固了基础知识,加深了

Asp.Net MVC4.0 官方教程 入门指南之五--控制器访问模型数据

Asp.Net MVC4.0 官方教程 入门指南之五--控制器访问模型数据 在这一节中,你将新创建一个新的 MoviesController类,并编写代码,实现获取影片数据和使用视图模板在浏览器中展现影片数据的功能.在进行下步之前,点击“生成应用程序“对应用程序进行编译.右键单击Controllers文件夹,新建一个名为“MoviesController ”的控制器.在创建窗口各选项如下图所示 点击添加,将创建以下文件和文件夹: 项目的 Controllers 文件夹下新增MoviesContr

Firebug入门指南(转)

本文转自:http://www.ruanyifeng.com/blog/2008/06/firebug_tutorial.html 作者: 阮一峰 日期: 2008年6月 8日 据说,对于网页开发人员来说,Firebug是Firefox浏览器中最好的插件之一. 我最近就在学习怎么使用Firebug,网上找到一篇针对初学者的教程,感觉比较有用,就翻译了出来. ================= Firebug入门指南 作者:Estelle Weyl 原文网址:http://www.evotech.

“十步杀一人,千里不留行” React的五步夺命诗

React的特性和我们之前用到的技术完全不同.我们一直在和它战斗.其中的一个难点是找到优质的学习资源.网上有太多不同的文章和教程,其中一些内容已经没有学习价值.React文档是不错的,但是我们不想在它上面花太多时间,我们希望能有快速入手的资料. 以下是如何学习React的一个五步计划.每一步都尽可能向你指出免费的资源. 第一步:"大河之剑天上来" React文档+Code Sandbox 是的,你应该从阅读React文档开始学习.文档写得很好,读完它你将理解React的基本术语和概念.