Kaggle竞赛全解析!

号称是全球最大的数据科学家汇聚的平台,高手云集,同时对萌新也很友好。Kaggle网址:Your Home for Data Science。版块:

1、竞赛competitions

2、数据datasets

3、代码kernels

4、论坛forums

5、工作机会jobs

干货|Kaggle竞赛全解析!

从版块的历史沿革来看,kaggel已经不满足与竞赛题目发布-方案征集的定位,正逐步发展成数据科学家学习、交流的综合平台。本篇重点介绍“竞赛”、“数据”、“代码”这几个版块,便于快速开启一个kaggel竞赛题目。

竞赛板块

“竞赛”版块是发布竞赛题目和参加竞赛的入口。参加kaggle的竞赛流程基本是:

选一个题目>>

下载数据>>

训练模型>>

提交结果>>

查看排名>>

优化模型(迭代)>>

最终提交>>

比赛结束

Kaggle竞赛分类

从参赛者的角度看,竞赛种类有:推荐比赛Featured、人才征募Recruitment、研究型Research、游乐场Playground、入门比赛Getting Started、课业比赛In Class。

推荐比赛Featured是瞄准商业问题带有奖金的公开竞赛。如果有幸赢得比赛,不但可以获得奖金,模型也可能会被竞赛赞助商应用到商业实践中呢。

干货|Kaggle竞赛全解析!

人才征募Recruitment的竞赛是赞助企业寻求数据科学家、算法设计人才的渠道。只允许个人参赛,不接受团 队报名。

研究型Research竞赛通常是机器学习前沿技术或者公益性质的题目。竞赛奖励可能是现金,也有一部分以会议邀请、发表论文的形式奖励。

游乐场Playground里的题目以有趣为主,比如猫狗照片分类的问题。现在这个分类下的题目不算多,但是热度很高。

入门比赛Getting Started给萌新们一个试水的机会,没有奖金,但有非常多的前辈经验可供学习。很久以前Kaggle这个栏目名称是101的时候,比赛题目还很多,但是现在只保留了4个最经典的入门竞赛:手写数字识别、沉船事故幸存估计、脸部识别、Julia语言入门。

课业比赛In Class是学校教授机器学习的老师留作业的地方,这里的竞赛有些会向public开放参赛,也有些仅仅是学校内部教学使用。

除此以外,还有大师邀请赛Master、前沿探索型Kaggle Prospect等非公开的竞赛,这里不做介绍了。

Kaggle竞赛的排名机制

了解Kaggle的排名机制也会对取得好成绩有所帮助。在比赛结束之前,参赛者每天最多可以提交5次测试集的预测结果。每一次提交结果都会获得最新的临时排名成绩,直至比赛结束获得最终排名。

在比赛过程中,Kaggle将参赛者每次提交的结果取出25%-33%,并依照准确率进行临时排名。在比赛结束时,参赛者可以指定几个已经提交的结果,Kaggle从中去除之前用于临时排名的部分,用剩余数据的准确率综合得到最终排名。

所以,比赛过程中用于最终排名的那部分数据,参赛者是始终得不到关于准确率的反馈的。这样一定程度避免参赛模型的过拟合,保证评选出兼顾准确率和泛化能力的模型。

数据板块

每一个竞赛题目都有一个数据入口,描述数据相关的信息,与主页上的Datasets选择一个数据其实指向同一个地方。在这里可以下载到提交结果的示范、测试集、训练集。Kaggle的数据以CSV格式最常见,提交的结果也要求是CSV格式。

代码Kernels

这是Kaggle最棒的功能!在这里可以看到其他参赛者自愿公开的模型代码,是学习和交流的最佳所在!当然这个版块取名为kernels,意味支持线上调试和运行你的代码,目前支持Python、R,当然也支持像numpy、pandas流行的数据分析库。

从零开始,教初学者如何征战Kaggle竞赛

Kaggle 上有两个最适合新手的竞赛(某种程度上已成为 Kaggle 的「入门教程」):

Titanic(预测生存:一种二元分类问题):

https://www.kaggle.com/c/titanic

房价(预测价格:回归问题):

https://www.kaggle.com/c/house-prices-advanced-regression-techniques

在每个竞赛的「Overview」(概览)选项卡上,你可以看到关于比赛及其数据集的一些信息、提交有效结果的评估标准(每个竞赛都略有不同),以及该竞赛的 FAQ。

「Data」(数据)选项卡上,你可以看到数据的简要说明。我们需要的是这三个文件:train.csv、test.csv 和 data_description.txt(这是至关重要的,因为其中包含数据的详细描述),请将它们放在你可以快速访问的文件夹里。

「Discussions」(讨论)选项卡就像竞赛的专属论坛——不过不要低估它!在流行的竞赛中,这些讨论中经常包含非常有价值的信息,因为竞赛条款有时会要求参与者必须在讨论版上公开他们所使用的任何信息。例如,数据泄露是很难避免和处理的,偶尔也会发生在竞赛中。一方面,充分利用数据才能得到更高的分数赢得竞赛;但另一方面,结合了数据泄露的模型通常对于实践来说是无用的,所以也不被竞赛支持——因为它们使用了「非法」信息。勤奋的参与者经常会在讨论版上分享数据泄露以帮助竞赛环境变得更好。此外,Kaggle 的成员也会经常在其上分享一些信息,努力维护这个社区。在排行榜上名列前茅的参与者有时也会在其中分享自己的成功经验(通常会在竞赛结束前后)。

「Kernel」选项卡基本上是「讨论」版块的应用、代码版,我认为这是对于初学者而言最重要的一个版块。任何人都可以在其中分享自己的脚本或笔记,链接任何数据集与竞赛,形式可以是文档、注释、可视化和输出,每个人都可以观看、投票、复制这些内容,甚至也可以在浏览器上直接运行它们!

我刚才提到的两个竞赛(Titanic、房价竞赛)都形成了有趣、漂亮、成功的 Kernel,强烈推荐进行过自己的尝试之后浏览这个版块。Kaggle 正在不断提升 Kernel 的功能,现在甚至有一个「仅限 Kernel」、奖金为 10 万美元的竞赛。

不过,Kernel 中的讨论往往是硬核的,缺乏有关概念的解释,或者说预先认为你已具备相关知识,所以有时了解起来会有些许困难。

【竞赛报名/项目咨询请加微信:mollywei007】

上一篇

加拿大前10 计算机科学CS专业申请指南

下一篇

丘成桐中学科学奖含金量/参赛规则/奖项设置等一文读懂!附丘奖往届获奖论文

你也可能喜欢

  • 暂无相关文章!

评论已经被关闭。

插入图片
返回顶部