Kaggle竞赛入门教程之Kaggle简介(新手向)

Kaggle号称是全球最大的数据科学家汇聚的平台,高手云集,同时对萌新也很友好。Kaggle网址:https://www.kaggle.com/。目前为止(2016.12)网站有这么几个版块:
1、竞赛competitions
2、数据datasets
3、代码kernels
4、论坛forums
5、工作机会jobs
 
从版块的历史沿革来看,kaggel已经不满足与竞赛题目发布-方案征集的定位,正逐步发展成数据科学家学习、交流的综合平台。本篇重点介绍“竞赛”、“数据”、“代码”这几个版块,便于快速开启一个kaggel竞赛题目。

一、“竞赛”版块

“竞赛”版块是发布竞赛题目和参加竞赛的入口。参加kaggle的竞赛流程基本是:选一个题目>>下载数据>>训练模型>>提交结果>>查看排名>>优化模型(迭代)>>最终提交>>比赛结束。

Kaggle竞赛分类

从参赛者的角度看,竞赛种类有:推荐比赛Featured、人才征募Recruitment、研究型Research、游乐场Playground、入门比赛Getting Started、课业比赛In Class。
 Kaggle竞赛入门教程之Kaggle简介(新手向)_第1张图片
推荐比赛Featured是瞄准商业问题带有奖金的公开竞赛。如果有幸赢得比赛,不但可以获得奖金,模型也可能会被竞赛赞助商应用到商业实践中呢。
人才征募Recruitment的竞赛是赞助企业寻求数据科学家、算法设计人才的渠道。只允许个人参赛,不接受团队报名。
研究型Research竞赛通常是机器学习前沿技术或者公益性质的题目。竞赛奖励可能是现金,也有一部分以会议邀请、发表论文的形式奖励。
游乐场Playground里的题目以有趣为主,比如猫狗照片分类的问题。现在这个分类下的题目不算多,但是热度很高。
入门比赛Getting Started给萌新们一个试水的机会,没有奖金,但有非常多的前辈经验可供学习。很久以前Kaggle这个栏目名称是101的时候,比赛题目还很多,但是现在只保留了4个最经典的入门竞赛:手写数字识别、沉船事故幸存估计、脸部识别、Julia语言入门。
课业比赛In Class是学校教授机器学习的老师留作业的地方,这里的竞赛有些会向public开放参赛,也有些仅仅是学校内部教学使用。
除此以外,还有大师邀请赛Master前沿探索型Kaggle Prospect等非公开的竞赛,这里不做介绍了。

Kaggle竞赛的排名机制

了解Kaggle的排名机制也会对取得好成绩有所帮助。在比赛结束之前,参赛者每天最多可以提交5次测试集的预测结果。每一次提交结果都会获得最新的临时排名成绩,直至比赛结束获得最终排名。在比赛过程中,Kaggle将参赛者每次提交的结果取出25%-33%,并依照准确率进行临时排名。在比赛结束时,参赛者可以指定几个已经提交的结果,Kaggle从中去除之前用于临时排名的部分,用剩余数据的准确率综合得到最终排名。所以,比赛过程中用于最终排名的那部分数据,参赛者是始终得不到关于准确率的反馈的。这样一定程度避免参赛模型的过拟合,保证评选出兼顾准确率和泛化能力的模型。

二、数据Datasets版块

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

Kaggle竞赛入门教程之Kaggle简介(新手向)_第2张图片

三、代码Kernels

这是Kaggle最棒的功能!在这里可以看到其他参赛者自愿公开的模型代码,是学习和交流的最佳所在!当然这个版块取名为kernels,意味支持线上调试和运行你的代码,目前支持Python、R,当然也支持像numpy、pandas流行的数据分析库。对那些暂时缺少硬件资源的参赛者,相当于Kaggle提供了一个“云计算”平台不是吗?我在kernels里简单写了一个脚本查看kaggle提供的平台硬件信息:(是说内存有110+G多么?)
 Kaggle竞赛入门教程之Kaggle简介(新手向)_第3张图片
总之,可以作为一个备选的计算资源,毕竟一个竞赛的训练集都至少有几十M呢。

最后

“竞赛”、“数据”、“代码”这三个版块的基本情况介绍完毕,后两个版块都是围绕“竞赛”设置的,每个版块都有内嵌的链接跳转到另外的版块,又都发展出独立的功能。快开始一个Kaggle比赛吧!

本篇译作主要参考Kaggle官方网站的wiki(https://www.kaggle.com/wiki/Home)

你可能感兴趣的:(机器学习,数据挖掘,kaggle)