Kaggle入门手册

2017 年 11 月 9 日 Datartisan数据工匠
Kaggle入门手册

点击上方

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数据工匠」


登录查看更多
3

相关内容

随着机器学习越来越多地被用于发现模式、进行分析和做出决策——投资于吸引更多的利益相关者加入是至关重要的。这本关于机器学习中的Python项目的书试图做到这一点:为今天和明天的开发人员提供工具,他们可以使用这些工具更好地理解、评估和塑造机器学习,以帮助确保它为我们所有人服务。

如果你还没有Python编程环境,这本书将为你提供一个,然后在“机器学习导论”一章中为你提供一个机器学习的概念理解。接下来是三个Python机器学习项目。它们将帮助你创建一个机器学习分类器,建立一个神经网络来识别手写数字,并通过为Atari构建一个机器人来给你一个深度强化学习的背景知识。

Python机器学习项目

  1. 前言
  2. 设置Python编程环境 3.机器学习入门
  3. 如何用Scikitlearn在Python中构建机器学习分类器
  4. 如何建立基于Tensorflow的神经网络识别手写数字
  5. 深度强化学习的偏差-方差: 如何用OpenAI Gym为Atari构建一个机器人

成为VIP会员查看完整内容
0
89

【导读】本资源收集了关于数据科学、大数据、数据挖掘、机器学习、Python、R、SQL、NoSQL等方面的最好的免费书籍。如果你正在寻找相应的书籍,可以直接阅览本资源,以便你可以快速有效的获取相应的资源。

    请注意,虽然这里的每本书都是免费提供的,但如果发现特别有用,可以考虑购买纸质版本。在许多情况下,您会找到指向纸质版的亚马逊链接。(点击View Free Book, 即可查看或下载)

成为VIP会员查看完整内容
0
62
小贴士
相关资讯
【资源】kaggle数据科学竞赛方案集锦
专知
24+阅读 · 2019年9月4日
Kaggle实战,10 分钟开启机器学习之路
机器学习算法与Python学习
3+阅读 · 2019年5月17日
各编程领域最好的入门书籍
程序猿
11+阅读 · 2018年7月29日
Python 如何快速入门?
全球人工智能
4+阅读 · 2018年3月15日
Kaggle 大神 Eureka 的高手进阶之路
AI研习社
4+阅读 · 2018年3月6日
Python & 机器学习之项目实践 | 赠书
人工智能头条
10+阅读 · 2017年12月26日
机器学习必备手册
机器学习研究会
11+阅读 · 2017年10月24日
Python机器学习Kaggle案例实战
炼数成金订阅号
8+阅读 · 2017年8月10日
相关VIP内容
专知会员服务
54+阅读 · 2020年6月28日
专知会员服务
86+阅读 · 2020年6月4日
专知会员服务
62+阅读 · 2020年3月17日
【2020新书】数据科学:十大Python项目,247页pdf
专知会员服务
132+阅读 · 2020年2月21日
专知会员服务
114+阅读 · 2020年2月11日
【强化学习】深度强化学习初学者指南
专知会员服务
88+阅读 · 2019年12月14日
《迁移学习简明手册》,93页pdf
专知会员服务
57+阅读 · 2019年12月9日
相关论文
FocalMix: Semi-Supervised Learning for 3D Medical Image Detection
Dong Wang,Yuan Zhang,Kexin Zhang,Liwei Wang
7+阅读 · 2020年3月20日
Xiang Wang,Yaokun Xu,Xiangnan He,Yixin Cao,Meng Wang,Tat-Seng Chua
13+阅读 · 2020年3月12日
Deep Co-Training for Semi-Supervised Image Segmentation
Jizong Peng,Guillermo Estrada,Marco Pedersoli,Christian Desrosiers
3+阅读 · 2019年10月30日
Few-shot Adaptive Faster R-CNN
Tao Wang,Xiaopeng Zhang,Li Yuan,Jiashi Feng
3+阅读 · 2019年3月22日
Are Generative Classifiers More Robust to Adversarial Attacks?
Yingzhen Li,John Bradshaw,Yash Sharma
3+阅读 · 2018年7月9日
Shanmin Pang,Jin Ma,Jianru Xue,Jihua Zhu,Vicente Ordonez
6+阅读 · 2018年6月2日
David Tolpin
5+阅读 · 2018年5月5日
Ray Jiang,Sven Gowal,Timothy A. Mann,Danilo J. Rezende
4+阅读 · 2018年4月9日
Zhou Yin,Wei-Shi Zheng,Ancong Wu,Hong-Xing Yu,Hai Wang,Jianhuang Lai
7+阅读 · 2018年2月6日
Top