点击上方
Datartisan数据工匠
可以订阅哦!
Kaggle是数据科学竞赛的热门平台,它可能会让初学者陷入困境。毕竟,一些比赛有超过100万美元奖池和数百个竞争对手。顶尖的团队拥有数十年的综合经验,处理有挑战的问题,如改善机场安全或分析卫星数据。
一些初学者犹豫使用Kaggle,这并不奇怪。他们有理由担忧,如:
怎样开始?
我会跟经验丰富的博士研究生团队竞争吗?
如果我没有真正的获胜机会,那么值得竞争吗?
数据科学是什么?(如果我在Kaggle做得不好,我还能向数据科学发展吗?)
如何提高排名?
那么,如果你有过这些问题,你的想法是正确的。
在本指南中,我们将分解你需要了解的有关入门知识,提高你的技能,并享受在Kaggle的一切。
Kaggle与“传统”数据科学
首先,我们需要弄清楚一些事情:
Kaggle比赛与“传统”数据科学有重要差异,但如果你以正确的心态接触,它们仍然会提供宝贵的经验。
我们来解释一下:
Kaggle比赛
本质上,比赛(以及奖池)必须符合几个标准。
问题一定很难。 比赛不能只用一个下午解决。为了获得最佳的投资回报,东道主公司将会提交最大、最麻烦的问题。
解决方案必须是新的。 为了赢得最新的比赛,你通常需要进行扩展研究,自定义算法,训练高级模型等。
表现必须相对。比赛必须产生获胜者,所以你的解决方案将同其他方案评分。
“传统”数据科学
相比之下,日常数据科学不需要符合相同的标准。
问题可以很容易。事实上,数据科学家们应该尝试识别可轻易实现的目标:可以快速解决的有影响力的项目。
解决方案可以成熟。 最常见的任务(例如:探索性分析,数据清理,A/B测试,经典算法)已经有成熟的框架。需要重新造轮子。
表现可以是绝对的。 解决方案可以非常有价值,即使它只是击败以前的基准。
Kaggle比赛鼓励你挤出最后一丝性能,而传统的数据科学则会鼓励效率并最大化业务影响。
Kaggle值得吗?
尽管Kaggle和典型的数据科学存在差异,但是,对于初学者而言,Kaggle仍然是一个很好的学习工具。
每场比赛都是独立的。你不需要仔细研究项目范围并收集数据,从而可以让你专注于其他技能。
练习是实践。 学习数据科学的最好方法是通过动手来学习。只要你不要强调赢得每场比赛,你仍然可以练习有趣的问题。
讨论和获胜者采访是有启发性的。每个比赛都有自己的板块和并且获胜者咨询。你可以窥探更有经验的数据科学家的思想过程。
如何入门Kaggle
接下来,我们将给出逐步的行动计划,在Kaggle上升和竞争。
步骤1:选择一门编程语言。
首先,我们建议选择一种编程语言并坚持使用它。Python以及R在Kaggle和更广泛的数据科学界都很受欢迎。
如果本身白纸一张,我们建议使用Python,因为它是一种通用的编程语言,可以从端到端使用。
R vs Python for Data Science
How to Learn Python for Data Science
步骤2:了解探索数据的基础知识。
加载,导航和绘制数据(即:探索性分析)的能力是数据科学的第一步,因为它可以告知你通过模型训练中做出的各种决策。
如果你走Python的路线,那么我们建议使用专门为此而设计的Seaborn库。它具有绘制许多最常见和有用的图表的高级函数。
Python Seaborn教程
第3步:训练你的第一个机器学习模型。
在进入Kaggle之前,我们建议你在一个更容易,更易于管理的数据集上训练一个模型。这将使你熟悉机器学习的库和形势。
关键是要良好的开发习惯,例如,将数据集分成单独的训练集和测试集,交叉验证以避免过度拟合,并使用适当的性能指标。
对于Python,最好的通用机器学习库是Scikit-Learn。
Python Scikit-Learn Tutorial
7-Day Applied Machine Learning Crash Course
步骤4:处理“入门级”的比赛。
现在我们准备尝试Kaggle比赛,分为几类。最常见的是:
特色 - 这些通常由公司,组织甚至政府赞助。他们有最大的奖池。 研究 - 这些都是以研究为导向,几乎没有奖金。他们也有非传统的提交流程。 招聘 - 这些由希望聘请数据科学家的公司赞助。这些还是比较少见的。 入门 - 结构如特色比赛,但没有奖池。它们以更简单的数据集为特征,大量教程和滚动提交窗口,因此你可以随时输入。
「入门」比赛对于初学者来说非常棒,因为它们为你提供低风险的环境来学习,并且还得到许多社区创建的教程的支持。
步骤5:争取最大限度地发掘学习,而不是赚钱。
在这个基础上,现在是进行“特色”比赛的时候了。一般来说,这些将需要更多的时间和精力来排好。
因此,我们建议明智地挑选你的战斗。参加比赛,了解与你的长期目标相一致的技术和科技。
虽然奖金是好的,更有价值(可靠)的奖励将是你为你的职业发展的技能。
享受Kaggle的技巧
最后,我们将介绍我们的7个最喜欢的技巧,以充分利用你在Kaggle的时间。
提示#1:设置增量目标。
如果你曾经玩过一个令人上瘾的游戏,你会知道增量目标的力量。这是多么伟大的游戏让你上钩。每个目标都足够大,以获得成就感,然而现实感足以达到目标。
大多数Kaggle参与者绝对不会赢得一场比赛,这完全是正常的。如果你把它当成你的第一个里程碑,你可能会感到灰心丧气,几次尝试后就失去了动力。
增量目标使旅程更加愉快。例如:
提交一个打败基准解决方案的提交。
在一场比赛中,排名前50%。
在一场比赛中,排名前25%。
在三场比赛中,排名前25%。
在一场比赛中,排名前10%。
赢得一次比赛!
这个策略将让你衡量你的进步并不断改善。
提示#2:查看投票最多的内核。
Kaggle有一个很酷的功能,参与者可以提交「内核」,它是探索概念、展示技术或甚至共享解决方案的简短脚本。
当你开始一场比赛或者处于停滞状态时,回顾流行的内核可以激发更多的想法。
提示#3:在论坛上提问。
不要害怕问「愚蠢」的问题。毕竟,可能发生的最糟糕的事情是什么?也许你是被忽视...这就是所有。另一方面,你可以获得丰富的成果,包括来自更有经验的数据科学家的建议和指导。
提示#4:独立开发代码的技能。
一开始,我们建议单独工作。这将迫使你解决应用机器学习过程的每一步,包括探索性分析,数据清洗,特征工程和模型训练。如果你太早开始合作,你可能会错过开发这些基础技能的机会。
提示#5:团队协作推动你的上限。
就这样说,在未来的比赛中组队可以是推动你的上限和向他人学习的好方法。许多过去的获奖者都是将他们的知识结合起来的团队。另外,掌握机器学习的技术技能之后,你可以与可能拥有更多领域知识的其他人进行协作,进一步拓展机会。
提示#6:请记住,Kaggle可以成为垫脚石。
记住,你不一定要成为一个长期的Kaggler。如果你发现你不喜欢格式,那没有什么大不了的。事实上,许多人在进入到自己的项目或成为全职数据科学家之前使用Kaggle作为垫脚石。这是你尽可能多专注于学习的另一个原因。从长远来看,比起追求最大的奖池,提供相关经验的针对性比赛更好。
提示#7:不要担心低排名。
一些初学者从来没有开始,因为他们担心他们的个人简介中的低排名。当然,竞争焦虑是一个现实的现象,并不局限于Kaggle。然而,低排名实际上并不是大问题。没有人会评判你,因为他们都是初学者。即使如此,如果你仍然非常担心你的个人资料中的低排名,你还可以创建一个单独的练习帐户来学习诀窍。一旦你感到合适,你可以开始使用你的“主帐户”来建立你的奖杯。
(再一次,这是完全不必要的!)
结论
在本指南中,我们分享五个入门Kaggle的步骤:
选择一种编程语言。
了解探索数据的基础知识。
训练你的第一个机器学习模型。
处理“入门级”的比赛。
争取最大限度地发掘学习,而不是赚钱。
最后,在这个平台上,我们分享7个的最喜欢的提示:
设置增量目标。
查看投票最多的内核。
在论坛上提问。
独立开发代码技能。
团队协作推动你的上限。
记住,Kaggle可以成为踏脚石。
不要担心低排名。
更多课程和文章尽在微信号
「datartisan数据工匠」