kaggle | 入门教程

56b6c7931235aa173842c6cb1f0a202d.png

为萌新提供一份最直接的图文教程,介绍kaggle的一些基本操作,让没有任何经验的人也可以快速上手。

8a2139a8a0172b0c4e355165596e9975.gif

1

Join a competition

首先注册kaggle账号,登录后点Compete之后可以看到Competitions如下。

3d23ee15f6e23c925158ec931857e832.png

随便点一个进入,可以看到比赛的详细信息,Overview中可以看到该比赛要解决什么问题,感兴趣点击Join Competition加入即可。

cab5a589c149e16106899d4bb95d3ff3.png

加入比赛后需要了解比赛的信息,比如比赛如何计分,比赛的时间线(什么时候结束等),对submission的要求,组织者提供了哪些数据等。下文以肺纤维化预测肺活量的比赛为例进行说明。

450b9f5a5815ce89cb91aa18110b82da.png

2

Overview

Overview->Evaluation

可以看到如何对预测结果进行评价,以及预测应该是什么格式的。各个比赛的evaluation的方式不同,可能是F1 score/AUC/weighted MAE等。这是根据比赛的目的,由组织者决定的。这个比赛使用的meidcal运用中常用的Laplace Log Likelihood。这里不需要自己花时间写evaluation和生成submission文件的代码,参考其他参赛者的Notebook即可。

3b18c4399dbeb834a0904457de6d36cb.png

Overview->Timeline

提供了一些时间的信息,比如开始结束时间,最晚参赛的时间,最晚合并队伍的时间。

7fd709d3cfb842307764dfa56e3e5e9d.png

Overview->Code Requirements

该比赛为code competition,即你需要提交代码,由kaggle后台运行,生成prediction并计分。这类形式的比赛会规定CPU/GPU时间,以及一些其他的设置比如是否可以使用外部的数据,运行时是否能联网。

与之相对的另外一种形式是:上传submission的文件(一般是csv文件)kaggle计分。 这种形式很难发现参赛者是否有cheating的行为,如果第一名把结果分享给了另外一个人,加入随机的噪音也可能获得很好的成绩。

bb8a022169ddb9d4e0f308e2a0ddea60.png

3

Data

组织者会在这里详细解释每一个特征是什么意思,如何收集的等信息。这些信息至关重要,要仔细读题~ 如果还有不清楚的还可以参考一些科普的notebook。

8a0d0184070ab398aa87ee95e868a33f.png

在这里点击Data Explorer中的文件或者文件夹可以对数据的有一个直观的了解,也可以单独下载某一个文件进行预览。

比如Test folder 下包括了哪些文件

c6323038261eb7419058116b4c2e09e3.png

比如train.csv是什么样的,每个column的数据大概的分布什么样

2cbe4132be28e83e9f8354be2709ddb6.png

数据下载

点击Download All可下载所有的数据。如果使用kaggle提供的实例(相当于云上的一个电脑)在线运行代码则不需要下载数据。

此外命令行的下载方式使用了kaggle的API,需要提前下载一个token,这种下载方式适用于无图形界面的服务器。

6e3e51d2f370f42a0c6315a7f90e410d.png

4

Notebooks

这里可以看到其他参赛者分享的code,以notebook的形式呈现,类似于jupyter notebook允许交互和呈现图表。目前清一色的python,最近已经很少看到R的身影。推荐直接用排序看vote最高的notebook。投票最高的往往包括了基础的EDA (Exploratory data analysis)和feature engineering,里面会有很多关于该类型数据或者该领域的科普。

046619124e7399a4fc2962e9f78eea06.png

例如第一notebook就科普了什么是肺纤维化,什么拉普拉斯log-likelyhood,如何可视化diocom文件,如何提取diocom的信息,并且对数据进行了一些初步的分析和可视化。比如第三个notebook更是详细地科普了什么是laplace log-likelihood。

91b10f191d84b896028e898517cef366.png

notebook带分数标签的意思是如果使用该notebook可以获得相应的public leaderboard中的分数。带tpu或者gpu标签的表示该nodebook使用的运算方式,不标即为cpu

5

Run Notebooks

如果觉得某个Notebook提供了一个不错的基线模型,进入notebook后可以点击右上角Copy and Edit收入囊中,在kaggle提供的实例上编辑和运行。

278ec464e184c4a072fe621f77c5cbe2.png

Copy之后就可以编辑和运行notebook了,这里的操作和jupyter notebook一样。当然也可以自己新建一个notebook进行数据分析。

b48fb38230d29b6b8d7a093dd5ce2f42.png

线上运行notebook并不需要下载数据,数据的位置如下所示,可以点击进行浏览。如果notebook使用了外部的数据(即参赛者上传的数据),这个数据在你copy notebook的时候,会一起被copy过来(比如这个notebook中的osic-histogram-feature就是作者在本地计算的特征)。由于一些code competetion 对运行时间和internet access有限制,可以将pre-trained的模型或者计算好的特征上传以缩减运行时间。

e6911ae74432c82b7bf5b033705b24e0.png

状态栏可以看到资源的使用情况

db58d7451749ab02d6e9d2f0a341f398.png

在右侧的setting中可以设置是否使用GPU/TPU加速(kaggle提供了每周30小时的gpu使用时间!)

51cc6c419ad207d10464a8652f266d97.png

点击save version可以保存notebook,保存的notebook可以在Notebooks->Your Work找到

10e25f9710b5207e32f63d597c52b17f.png

同时在Notebooks页面还可以看到当前session的信息,不用可以停止掉

4848e91ec5dbf4c0c475b2f757d4ab6a.png

对于提交和分享notebook推荐使用Commit的保存方式方式(第二个选项),它会将所有的代码运行一遍并且生成所有的图表和output。

1734abe154fbd05ea526f13e445a7966.png

6

Submit Predictions

目录中的output的路径是submission文件生成的地方,对于只要求提交submission.csv文件的比赛,在这里下载submission.csv文件,上传提交即可。(这里需要点击刷新才能看到新生成的文件)

736cde8408fc44403e012cbfaad07085.png

对于code competition来说,首先以commit的方式保存你需要提交的notebook,到Notebooks->Your Work 

3e8558271ad63bdfa71cfcde37cd3940.png

10f1e14cd4b347ab0651cfb37aa0c975.png

点击进入想要提交的notebook(已经commit过),到底部可以看到该notebook生成的submission.csv,表示该notebook已生成符合要求的submission,点击submit,后台就会为你运行该notebook,并提交反回结果。

5ecdca66ca10aa2c81ec872b2b5ef7fb.png

至此一个baseline submission便完成了,可在leaderboard中查看排名。

在My Submission中可以管理已经提交的结果。一个账号每天的提交次数会有限制,这个比赛的提交次数限制为每天5次。在比赛结束前可以选择2个已提交的结果为最后的submission,否则系统自动选择2个分数最好的作为最后的submission。

c79362bb463fc7ab5f2dcf56c72577ee.png

32f5796474f44b654fd0943d074120df.png

39081d32d4e9360411595cbc655a687b.gif

最后不得不说的是有比赛就有培训班和cheating,相比于奖金和名次,正确的态度/心态更重要。

推荐阅读1

文摘菌,公众号:大数据文摘花钱买大腿?奖牌明码标价?含金量被质疑后,我们找Kaggle合规会聊了聊规则

推荐阅读2

关注前沿科技,公众号:量子位为了1万美元奖金,他作弊拿到Kaggle比赛第一名,之后跳去硅谷明星AI创业公司,现已被封号

88fd2911b2923c1ca2d95da56d22ad08.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值