生信学习

Kaggle | (一)入门指南

2018-11-02  本文已影响381人  Ivan_Lan

一、Kaggle是什么?

Kaggle成立于2010年,是一个进行数据发掘和预测竞赛的在线平台。从公司的角度来讲,可以提供一些数据,进而提出一个实际需要解决的问题;从参赛者的角度来讲,他们将组队参与项目,针对其中一个问题提出解决方案,最终由公司选出的最佳方案可以获得5K-10K美金的奖金。

除此之外,Kaggle官方每年还会举办一次大规模的竞赛,奖金高达一百万美金,吸引了广大的数据科学爱好者参与其中。从某种角度来讲,可以把它理解为一个众包平台,类似国内的猪八戒。但是不同于传统的低层次劳动力需求,Kaggle一直致力于解决业界难题,因此也创造了一种全新的劳动力市场——不再以学历和工作经验作为唯一的人才评判标准,而是着眼于个人技能,为顶尖人才和公司之间搭建了一座桥梁。

输入https://www.kaggle.com/即可进入Kaggle主页,网站有这么几个版块:
1、竞赛competitions
2、数据datasets
3、代码kernels
4、讨论区 Discussion
5、在线课程学习learn

Kaggle主页

二、Kaggle的竞赛模式是什么样的?

Kaggle上的竞赛有各种分类,例如奖金极高竞争激烈的的 “Featured”,相对平民化的 “Research”等等。但整体的项目模式是一样的,就是通过出题方给予的训练集建立模型,再利用测试集算出结果用来评比。同时,每个进行中的竞赛项目都会显示剩余时间、参与的队伍数量以及奖金金额,并且会实时更新选手排位。在截止日期之前,所有队伍都可以自由加入竞赛,或者对已经提交的方案进行完善,因此排名也会不断变动,不到最后一刻谁都不知道花落谁家。
由于这类问题并没有标准答案,只有无限逼近最优解,所以这样的模式可以激励参与者提出更好的方案,甚至推动整个行业的发展。

Kaggle竞赛分类

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


Kaggle比赛分类

Kaggle竞赛的排名机制

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

三、数据Datasets版块和代码Kernels板块介绍

数据Datasets版块

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

比赛数据

代码Kernels板块

这是Kaggle最棒的功能!在这里可看到其他参赛者自愿公开的模型代码,是学习和交流的最佳所在!取名为kernels意味支持线上调试和运行代码,目前支持Python、R。对那些暂时缺少硬件资源的参赛者,相当于Kaggle提供了一个“云计算”平台,可以作为一个备选的计算资源。

四、如何上手Kaggle?

想要真正参与Kaggle,参赛者最好具有统计、计算机或数学相关背景,有一定的coding技能,对机器学习和深度学习有基本的了解,Kaggle任务虽然不限制编程语言,但绝大多数队伍会选用Python和R,所以至少熟悉其中一种。

如果从未独立做过一个项目,最好从练习赛开始熟悉。因为竞赛模式中的任务是公司悬赏发布的实际案例,并没有标准的答案;而练习赛不仅项目难度低,而且是有官方给出的参考方案的,大家可以用来对比改善自己的测试结果,从中进行提高。所以建议感兴趣的同学先去独立做一下101和playground的训练赛。

1. Titanic(泰坦尼克之灾)
中文教程: 逻辑回归应用之Kaggle泰坦尼克之灾
英文教程:An Interactive Data Science Tutorial

2. House Prices: Advanced Regression Techniques(房价预测)
中文教程:Kaggle竞赛 — 2017年房价预测
英文教程:How to get to TOP 25% with Simple Model using sklearn

3. Digital Recognition(数字识别)
中文教程:大数据竞赛平台—Kaggle 入门
英文教程:Interactive Intro to Dimensionality Reduction

比赛流程

比赛流程

五、入门Kaggle可参考的资料

机器学习自学指南
如何用3个月零基础入门机器学习?
机器学习该怎么入门?
机器学习必备资源-如何开始机器学习竞赛
机器学习/深度学习入门资料汇总
机器学习算法汇总及选择
特征工程到底是什么?
XGBoost调参技巧(二)Titanic实战Top9%
机器学习特征工程实用技巧大全

Kaggle 入门指南
分分钟带你杀入Kaggle Top 1%
Kaggle 首战拿银总结 | 入门指导 (长文、干货)
Kaggle Titanic 生存预测 -- 详细流程吐血梳理
Kaggle入门
Kaggle 比赛整理汇总
Kaggle Titanic 生存预测(Top1.4%)完整代码分享

本文参考:
  1. Kaggle入门,看这一篇就够了
  2. Kaggle竞赛入门教程之Kaggle简介
  3. Kaggle 数据挖掘比赛经验分享
上一篇下一篇

猜你喜欢

热点阅读