Kaggle入门手册

 

Kaggle入门手册

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

Kaggle是数据科学竞赛的热门平台,它可能会让初学者陷入困境。

毕竟,一些比赛有超过100万美元奖池和数百个竞争对手。

顶尖的团队拥有数十年的综合经验,处理有挑战的问题,如改善机场安全或分析卫星数据。

1.png

一些初学者犹豫使用Kaggle,这并不奇怪。他们有理由担忧,如:

  • 怎样开始?
  • 我会跟经验丰富的博士研究生团队竞争吗?
  • 如果我没有真正的获胜机会,那么值得竞争吗?
  • 数据科学是什么?(如果我在Kaggle做得不好,我还能向数据科学发展吗?)
  • 如何提高排名?

那么,如果你有过这些问题,你的想法是正确的。

在本指南中,我们将分解你需要了解的有关入门知识,提高你的技能,并享受在Kaggle的一切。

2.jpg

Kaggle与“传统”数据科学

首先,我们需要弄清楚一些事情:

Kaggle比赛与“传统”数据科学有重要差异,但如果你以正确的心态接触,它们仍然会提供宝贵的经验。

我们来解释一下:

Kaggle比赛

本质上,比赛(以及奖池)必须符合几个标准。

  • 问题一定很难。 比赛不能只用一个下午解决。为了获得最佳的投资回报,东道主公司将会提交最大、最麻烦的问题。
  • 解决方案必须是新的。 为了赢得最新的比赛,你通常需要进行扩展研究,自定义算法,训练高级模型等。
  • 表现必须相对。比赛必须产生获胜者,所以你的解决方案将同其他方案评分。

“传统”数据科学

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

  • 问题可以很容易。事实上,数据科学家们应该尝试识别可轻易实现的目标:可以快速解决的有影响力的项目。
  • 解决方案可以成熟。 最常见的任务(例如:探索性分析,数据清理,A/B测试,经典算法)已经有成熟的框架。需要重新造轮子。
  • 表现可以是绝对的。 解决方案可以非常有价值,即使它只是击败以前的基准。

Kaggle比赛鼓励你挤出最后一丝性能,而传统的数据科学则会鼓励效率并最大化业务影响。

Kaggle值得吗?

尽管Kaggle和典型的数据科学存在差异,但是,对于初学者而言,Kaggle仍然是一个很好的学习工具。

  • 每场比赛都是独立的。你不需要仔细研究项目范围并收集数据,从而可以让你专注于其他技能。
  • 练习是实践。 学习数据科学的最好方法是通过动手来学习。只要你不要强调赢得每场比赛,你仍然可以练习有趣的问题。
  • 讨论和获胜者采访是有启发性的。每个比赛都有自己的板块和并且获胜者咨询。你可以窥探更有经验的数据科学家的思想过程。

3.png

如何入门Kaggle

接下来,我们将给出逐步的行动计划,在Kaggle上升和竞争。

步骤1:选择一门编程语言。

首先,我们建议选择一种编程语言并坚持使用它。Python以及R在Kaggle和更广泛的数据科学界都很受欢迎。

如果本身白纸一张,我们建议使用Python,因为它是一种通用的编程语言,可以从端到端使用。

步骤2:了解探索数据的基础知识。

加载,导航和绘制数据(即:探索性分析)的能力是数据科学的第一步,因为它可以告知你通过模型训练中做出的各种决策。

如果你走Python的路线,那么我们建议使用专门为此而设计的Seaborn库。它具有绘制许多最常见和有用的图表的高级函数。

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

在进入Kaggle之前,我们建议你在一个更容易,更易于管理的数据集上训练一个模型。这将使你熟悉机器学习的库和形势。

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

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

步骤4:处理“入门级”的比赛。

现在我们准备尝试Kaggle比赛,分为几类。最常见的是:

特色 - 这些通常由公司,组织甚至政府赞助。他们有最大的奖池。
研究 - 这些都是以研究为导向,几乎没有奖金。他们也有非传统的提交流程。
招聘 - 这些由希望聘请数据科学家的公司赞助。这些还是比较少见的。
入门 - 结构如特色比赛,但没有奖池。它们以更简单的数据集为特征,大量教程和滚动提交窗口,因此你可以随时输入。

「入门」比赛对于初学者来说非常棒,因为它们为你提供低风险的环境来学习,并且还得到许多社区创建的教程的支持。

4.png5

步骤5:争取最大限度地发掘学习,而不是赚钱。

在这个基础上,现在是进行“特色”比赛的时候了。一般来说,这些将需要更多的时间和精力来排好。

因此,我们建议明智地挑选你的战斗。参加比赛,了解与你的长期目标相一致的技术和科技。

虽然奖金是好的,更有价值(可靠)的奖励将是你为你的职业发展的技能。

享受Kaggle的技巧

最后,我们将介绍我们的7个最喜欢的技巧,以充分利用你在Kaggle的时间。

提示#1:设置增量目标。

如果你曾经玩过一个令人上瘾的游戏,你会知道增量目标的力量。这是多么伟大的游戏让你上钩。每个目标都足够大,以获得成就感,然而现实感足以达到目标。

5.png

大多数Kaggle参与者绝对不会赢得一场比赛,这完全是正常的。如果你把它当成你的第一个里程碑,你可能会感到灰心丧气,几次尝试后就失去了动力。

增量目标使​​旅程更加愉快。例如:

  • 提交一个打败基准解决方案的提交。
  • 在一场比赛中,排名前50%。
  • 在一场比赛中,排名前25%。
  • 在三场比赛中,排名前25%。
  • 在一场比赛中,排名前10%。
  • 赢得一次比赛!

这个策略将让你衡量你的进步并不断改善。

提示#2:查看投票最多的内核。

Kaggle有一个很酷的功能,参与者可以提交「内核」,它是探索概念、展示技术或甚至共享解决方案的简短脚本。

当你开始一场比赛或者处于停滞状态时,回顾流行的内核可以激发更多的想法。

6.png

提示#3:在论坛上提问。

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

毕竟,可能发生的最糟糕的事情是什么?也许你是被忽视…这就是所有。

另一方面,你可以获得丰富的成果,包括来自更有经验的数据科学家的建议和指导。

提示4:独立开发代码的技能。

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

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

提示#5:团队协作推动你的上限。

就这样说,在未来的比赛中组队可以是推动你的上限和向他人学习的好方法。许多过去的获奖者都是将他们的知识结合起来的团队。

另外,掌握机器学习的技术技能之后,你可以与可能拥有更多领域知识的其他人进行协作,进一步拓展机会。

提示#6:请记住,Kaggle可以成为垫脚石。

记住,你不一定要成为一个长期的Kaggler。如果你发现你不喜欢格式,那没有什么大不了的。

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

这是你尽可能多专注于学习的另一个原因。从长远来看,比起追求最大的奖池,提供相关经验的针对性比赛更好。

提示#7:不要担心低排名。

一些初学者从来没有开始,因为他们担心他们的个人简介中的低排名。当然,竞争焦虑是一个现实的现象,并不局限于Kaggle。

然而,低排名实际上并不是大问题。没有人会评判你,因为他们都是初学者。

即使如此,如果你仍然非常担心你的个人资料中的低排名,你还可以创建一个单独的练习帐户来学习诀窍。一旦你感到合适,你可以开始使用你的“主帐户”来建立你的奖杯。

(再一次,这是完全不必要的!)

结论

在本指南中,我们分享五个入门Kaggle的步骤:

  1. 选择一种编程语言。
  2. 了解探索数据的基础知识。
  3. 训练你的第一个机器学习模型。
  4. 处理“入门级”的比赛。
  5. 争取最大限度地发掘学习,而不是赚钱。

最后,在这个平台上,我们分享7个的最喜欢的提示:

  • 设置增量目标。
  • 查看投票最多的内核。
  • 在论坛上提问。
  • 独立开发代码技能。
  • 团队协作推动你的上限。
  • 记住,Kaggle可以成为踏脚石。
  • 不要担心低排名。

更多课程和文章尽在微信号:「datartisan数据工匠」

 

由 Editor 于 2017 年 11 月 08 日 发布在 数据科学 栏目