Kaggle,一个流行的数据科学竞赛平台,可以吓唬初学者。
毕竟,一些上市比赛有超过100万美元的奖金池和数以百计的竞争者。
顶尖团队拥有数十年的综合经验,能够处理诸如改善机场安全或分析卫星数据等雄心勃勃的问题。
一些初学者迟迟不肯开始学习就不足为奇了。他们有合理的担忧,如:
1.我怎么开始呢?
2.我会遇到一些经验丰富的博士研究人员吗?
3.如果我没有获胜的机会,是否值得竞争?
4.这就是数据科学的全部内容吗?(如果我对Kaggle做得不好,我在数据科学方面还有前途吗?)
5.我将来怎样才能提高我的排名呢?
好吧,如果你有过这些疑问就对了。
在这本指南中,我们将分解您需要了解的关于入门、提高技能和享受Kaggle时间的所有内容。
Kaggle与“典型”数据科学
首先,我们需要明确一些事情:
卡格尔竞赛与“典型”数据科学有着重要的区别,但是如果你用正确的心态去对待它们,它们仍然能提供宝贵的经验。
让我们解释一下:
Kaggle竞赛
本质上,竞赛(奖金池)必须符合几个标准。
1.问题一定很难。比赛不应该在一个下午就能解决。为了获得最佳的投资回报,主办公司将提交他们最大、最棘手的问题。
2.解决方案必须是新的。要赢得最新的竞赛,通常需要执行扩展研究、定制算法、训练高级模型等。
3.性能必须是相对的。比赛必须赢得冠军,所以你的解决方案会被别人打分。
“典型”数据科学
相比之下,日常的数据科学并不需要满足同样的标准。
1.问题很容易。事实上,数据科学家应该尝试识别低垂的水果:能迅速解决的有影响的项目。
2.解决方案可以成熟。最常见的任务(例如探索性分析、数据清理、A/B测试、经典算法)已经有了验证框架,他们不得不重蹈覆辙。
3.性能可以是绝对的。一个解决方案可以非常有价值,即使它只是击败了先前的基准。
Kaggle的竞争鼓励您挤出性能的最后一滴水,而典型的数据科学鼓励效率和最大限度地提高业务影响。
Kaggle值得吗?
尽管Kaggle和典型的数据科学存在差异,Kaggle仍然可以成为初学者的一个很好的学习工具。
1.每一场比赛都是独立的。你不必局限于自己的项目和收集数据,这可以让你专注于其他技能。
2.实践就是实践。学习数据科学的最好方法是做中学。只要你不强调赢得每一场比赛,你仍然可以练习有趣的问题。
3.讨论和获胜者访谈是有启发性的。每场比赛都有自己的讨论委员会,并与获奖者进行汇报。你可以窥见更有经验的数据科学家的思维过程。
如何开始Kaggle
接下来,我们将给你一个循序渐进的行动计划,温和地攀登和竞争Kaggle。
第1步:选择编程语言。
首先,我们建议选择一种编程语言并坚持下去。Python和R语言都在Kaggle和更广泛的数据科学社区中流行
如果您从空白开始,我们建议使用Python,因为它是一种通用编程语言,您可以从头到尾使用它。
第2步:学习探索数据的基础知识。
加载、导航和绘制数据的能力(即探索性分析)是数据科学的第一步,因为它通知了您在整个模型培训中将做出的各种决策。
如果您使用Python的路径,那么我们推荐Seabn库,该库是专门为此目的而设计的。它具有高层次的功能,用于绘制许多最常用和最有用的图表。
第3步:训练你的第一个机器学习模型。
在跳进Kaggle之前,我们建议在一个更容易、更易于管理的数据集上训练一个模型。这将使您熟悉机器学习库和土地的布局。
关键是要开始培养良好的习惯,比如将数据集分成单独的训练集和测试集,交叉验证以避免过拟合,以及使用适当的性能度量。
对于Python来说,最好的通用机器学习库是ScKIT学习。
第4步:解决“入门”比赛。
现在我们准备试一试Kaggle比赛,它分为几类。最常见的是:
专题——这些通常是由公司、组织甚至政府赞助的。他们拥有最大的奖金池。
研究——这些都是研究导向的,几乎没有奖金。他们也有非传统的提交过程。
招聘——这些都是想雇佣数据科学家的公司赞助的。这些仍然相对少见。
开始——这些结构像特色比赛,但他们没有奖金池。它们具有更容易的数据集、大量教程和滚动提交窗口,因此您可以随时输入它们。
“入门”竞赛对初学者来说很棒,因为它们给了你一个低风险的学习环境,并且它们也得到了许多社区创建的教程的支持。
第5步:竞争最大化的学习,而不是盈利。
有了这个基础,是时候进行“特色”比赛了。一般来说,这将需要更多的时间和精力来很好地排名
因此,我们建议明智地选择你的战斗。参加比赛会让你接触到与你的长期目标相一致的技术和技术。
当奖金是好的,更有价值的(和可靠的)奖励将是你将为你的事业发展的技能。
玩乐小窍门
最后,我们将介绍我们最喜欢的7个秘诀,充分利用你在Kaggle上的时间。
技巧1:设定增量目标。
如果你曾经玩过一个上瘾的电子游戏,你就会知道增量目标的力量。这就是伟大的游戏让你上瘾的原因。每一个目标都足够大,有成就感,但现实可行。
大多数Kaggle参与者永远不会赢得一场比赛,这是完全好的。如果你把这当成你的第一个里程碑,你可能会感到气馁,在尝试几次后失去动力。
增量目标使旅程更加愉快。例如:
1.做出一个胜过基准解决方案的提交。
2.在一场比赛中排名前50%。
3.在一场比赛中排名前25%。
4.在三场比赛中排名前25%位。
5.在一场比赛中排名前10%。
6.赢得比赛!
这一策略将让你一步步地衡量自己的进步和进步。
技巧2:审查大多数投票的内核。
Kaggle有一个很酷的特性,参与者可以提交“内核”,这是探索概念、展示技术、甚至共享解决方案的简短脚本。
当你开始比赛或者当你遇到一个高原时,回顾流行的内核可以激发更多的想法。
技巧3:在论坛上提问。
不要害怕问“愚蠢”的问题。
毕竟,最糟糕的事情是也不过就是你被忽视了。
另一方面,你有很多收获,包括来自更有经验的数据科学家的建议和指导。
技巧4:独自开发核心技能。
一开始,我们建议单独工作。这将迫使您处理应用机器学习过程的每个步骤,包括探索性分析、数据清理、特性工程和模型培训。
如果你过早开始合作,你可能错过开发这些基础技能的机会。
技巧5:团队来推动你的边界。
有了这一点,在未来的比赛中合作可以是一个很好的方法来突破你的界限,向他人学习。许多过去的赢家都是团队,他们结合自己的知识。
此外,一旦你掌握了机器学习的技术技能,你就可以和其他领域知识比你多的人合作,进一步扩大你的机会。
技巧6:记住Kaggle可以是一块垫脚石。
记住,你不一定要成为一个长期的Kaggler。如果你发现你不喜欢这个格式,那没什么大不了的。
事实上,许多人使用Kaggle作为踏脚石,然后转移到他们自己的项目或成为全职数据科学家。
这也是你尽可能多地关注学习的另一个原因。从长远来看,最好的比赛目标是给你相关的经验,而不是追逐最大的奖金池。
秘诀7:不要担心低阶。
有些初学者从不开始,因为他们担心低级别出现在他们的个人资料中。当然,竞争焦虑是一种真实的现象,并不局限于Kaggle。
然而,低排名真的不是什么大问题。没有人会评判你,因为他们都是初学者。
即便如此,如果你仍然担心个人资料中的低排名,你也可以创建一个单独的练习帐户来学习这些诀窍。一旦你感觉舒服,你可以开始使用你的“主帐户”来建造你的奖杯盒。
结论
在本指南中,我们分享了开始Kaggle的5个步骤:
——选择一种编程语言。
——学习探索数据的基本知识。
——训练你的第一个机器学习模型。
——解决“入门”比赛。
——竞争是为了最大化学习,而不是盈利。
最后,我们分享了我们在平台上享受时间的7个最爱的秘诀:
——设定增量目标。
——审查大多数投票的内核。
——在论坛上提问。
——独立开发核心技能。
——团队来推动你的边界。
——记住,Kaggle可以是一块垫脚石。
——不要担心低阶。
如果你喜欢这个指南,那么我们邀请你看看我们的数据科学和应用机器学习入门。
原文:The Beginner’s Guide to Kaggle
翻译:徐大白
注意:本文归作者所有,未经作者允许,不得转载