2021-07-11 Kaggle平台的使用

1. 背景

学习《动手学深度学习-李沐》教学时,第一次比赛内容是房价数据预测,使用的数据提交平台是Kaggle。前期也了解过Kaggle平台是有同学来面试,会提到参加Kaggle比赛的某某项目名次。对于这次学习的成果验证,也需要使用。

听到李沐介绍2000多个同学参加直播,实际参赛对于170多,参与率小于10%。除了技术之外,还有存在很多空间可以成长。同时我也目前属于90%的人群,主要还是不会使用Kaggle,闻其名不知其用。

过去的行为需要改变,主动学习并参与,进入Data Scientist的大群体,至少要学会Kaggle,因此整理学习过程用于当前总结和日后回顾之用。

2. Kaggle平台简介

Kaggle是一个服务于数据科学家,采用机器学习等方法进行数据竞赛排名的平台。成立于2010年,由Anthony Goldbloom和Jeremy Howard创立,在2017年3月8日,Google宣布收购Kaggle。

[1]wikipedia, https://en.wikipedia.org/wiki/Kaggle

3. 使用方法总结

3.1. 竞赛说明

竞赛类型:通用和其他

3.1.1. 通用竞赛:

  1. 特定型比赛:常用1000-5000支队伍短期内参赛,设有奖金有时达到100万美元。
    ·专家还是初学者,都可以学习技巧和讨论。
  2. 研究型比赛:一般几百支累计内参赛,不设有奖金。
    ·往往是对某一特定领域的深入研究。
  3. 初学者比赛:常会几千几万支对于参赛,是初学者学习的圣堂,往往是·机器学习重要的课题讨论和练习的场所。
    因为容易获得数据,查看代码,实际操练已经学习到的技巧,非常受到大家的欢迎。
  4. 游乐场:比初学者难度高一点,偶尔会有一些奖金。
    ·会有一些低风险的数据场景,提供练习。这次李沐的学习课程正是属于这个类型。

3.1.2. 其他竞赛:

  1. 招募比赛:用于招募员工而设立的比赛。
  2. 年度比赛:每年3月机器学习比赛,12月算法优化比赛。
  3. 限定参与比赛:一般一些大师互相切磋技艺,以邀请制形式出现。

3.2. 比赛形式

  1. 简单竞赛:
    ·最通常的竞赛形式,通过下载竞赛数据,本地建模,再上传结果的形式。
  2. 两阶段竞赛:
    ·分成一阶段和二阶段,根据一阶段的结果决定二阶段的比赛队伍,两个阶段的数据和形式都有可能变化。
  3. 代码竞赛:
    ·更为公平形式的竞赛,需要在Kaggle平台的Notebooks编写代码,使用公有云上的CPU和GPU建模比赛。
    ·往往获胜的队伍,是资源使用效率较高的类型。

3.3. 参加竞赛

3.3.1. 选择比赛

  1. 在竞赛列表(Competitions listing)寻找感兴趣的竞赛。
  2. 查看竞赛要求,以及其他信息:
    ·包括概览、数据、代码、讨论、计分板、规则等。
  3. 期间提交:过程中根据实际情况,交到数据,参与比赛。

3.3.2. 形成队伍

  1. 在竞赛期间可以形成队伍:


  2. 队伍成员:1人队伍和多人队伍。
  3. 队伍名称:可以修改。
  4. 合并队伍:在一定时期内可以在人数要求下,合并或者被合并队伍。
  5. 解散队伍:提交过代码后无法解散队伍。

3.3.3. 做出提交

  1. 为了得到模型分数,需要做提交数据或提交代码;
  2. 每天提交次数有限制,一般是5次/日,每次竞赛可能不同;
  3. 计分板:提交后可以查看成绩;


  4. 提交预测;
    4.1. 上传数据文件
    a. 大多数竞赛会选择的方式;
    b. 一般会有两个提交标签,“提交预测(Submit Predictions/Late Submission)”和“我的提交(My Submissions)”;
    c. “提交预测”:点击后,按照格式上传文件;
    d. “我的提交”:当提交预测多次后,可以根据自己的要求确认哪次提交为最终成绩;
    4.2.上传Notebook代码
    a. 在“代码(Code)”页面可以管理Notebook,详细可访问Notebooks;
    b. 在该页面点击“新工作簿(New Notebook)”,使用竞赛数据,添加相关代码,进行建模预测;
    c. Notebook可以私人化也可以共享化,随时可以切换;
    d. 编写完成后,点击“保存版本(Save Version)”,弹窗中选择“保存并执行(Save & Run All)”,再点击“保存(Save)”,即完成一次提交;
    e. 当新版本完成后(从头至尾执行完提交代码),导航到Notebook版本页面查看结果,可以选择你的提交文件,点击“提交(Submit)”按钮,即完成代码提交。

3.4. 初学者资源

新用户可以选择Kaggle的机器学习算法入门:

  1. 二分类问题:Titanic: Machine Learning from Disaster
  2. 回归问题:House Prices: Advanced Regression Techniques

4. 参考资源:

  1. Kaggle Competitions
  2. 动手学深度学习在线课程

你可能感兴趣的:(2021-07-11 Kaggle平台的使用)