机器学习、数据分析免费学习平台——kaggle
机器学习、数据分析免费学习平台——kaggle
kaggle是什么?
kaggle创建于2010年,是一个为开发商和数据科学家提供举办数据科学竞赛、托管数据库、编写和分享代码的在线平台,2017年被谷歌收购。
公司和研究者在上面发布一些数据,提出一个实际需要解决的问题;参赛者们组队参与项目,针对其中一个问题提出解决方案,选出的最佳方案可以获得奖金。 除此之外,kaggle官方每年还会举办一次大规模的竞赛,奖金高达百万美金,吸引了广大的数据科学爱好者参与其中。
从某种角度来讲,大家可以把kaggle理解为一个众包平台,即有众多策略可以用于解决几乎所有预测建模的问题,而研究者不可能在一开始就了解什么方法对于特定问题是最为有效的,kaggle的目标则是试图通过众包的形式来解决这一难题,进而使数据科学成为一场运动。但不同于传统的低层次劳动力需求,kaggle一直致力于解决业界难题,因此也创造了一种全新的劳动力市场——不以学历和工作经验作为唯一的人才评判标准,而是着眼于个人技能,为顶尖人才和公司之间搭建了一座桥梁!
进入 kaggle官网:https://www.kaggle.com/。可以发现有Compete,Datasets,Code,Communities,Course这些板块,也就是竞赛区,数据集,代码分享区,社群讨论区,相关课程,是一个数据学习的好地方!点击旁边三个小点,里面有用户排名(User Ranking),就是按照Medals和Points对kaggle大佬们的一个排名。Tags里面是关于赛题和数据集的分类,如Businesses,Internet,History等等。还有下面的选项大家可以去看看啦,知己知彼,百战不殆。

为什么要做kaggle竞赛
如果你是一个数据爱好者或者想要加入数据科学这个领域,那kaggle绝对是一个你感兴趣的平台。众所周知,学习机器学习提高自己实战能力的方式就是做项目,而kaggle平台就有大量的机器学习项目。另一方面如果单独学习理论的话,会有些枯燥,通过参加kaggle比赛,每天提交成绩、只要排行榜上有提升,就会很有成就感,像闯关打游戏一样,比较容易坚持下去。
对于刚入数据这一行的小伙伴来说,参加kaggle上的比赛项目是非常“长见识”的!当然前期会有些吃力,毕竟都是非常前沿的问题,但是如果能坚持完整得cover一个项目,不但coding能力会有一个很大的提高,在实际案例中解决问题的能力也会得到极大的锻炼,为自己的职业生涯打下一个良好的基础!初识kaggle,遇到困难也不要担心,可以到Code或者Communities看一下大佬们的讨论和分享的代码,绝对会有所助益。当然如果能在kaggle这种高手云集的比赛中获得一个还不错的成绩,那对日后找工作或者是跳槽都是很有帮助。
kaggle比赛类型
既然kaggle对于我们数据科学的学习和职业有这么大的帮助,如何参与到其中呢?kaggle平台的比赛类型有哪些呢?接下来我们点击最关心的Compete这个区。
按照比赛级别分类
来到Competitions这个版块后,向下滑动可以看到All Competitions(所有比赛),自己选择查看正在进行的和一些历史比赛。

点击All Categories选择比赛类型,选择Default Sort按照时间或者奖金排序。

kaggle比赛按照级别可以分为以下几类
Getting Started (入门级)
Getting Started是难度最低的比赛,主要针对刚入门机器学习的初学者,都是永久性的。就好像是kaggle竞赛中的“Hello world”。在里面也会有很多大神给出的参考答案,有很多思想值得学习。因此是一个鼓励性质的比赛,没有奖品或者积分。比如我们刚进入到Compete页面,推荐的TItanic、House Prices。

Playground(进阶级)
Playground难度稍高一点,题目以有趣为主,如《Tabular Playground Series》,主要面向打过初级比赛后,想要尝试增加难度的新手。比赛后面通常会标有Swag(奖品)、Kudos(荣誉)等奖励。

Featured(高级)
Featured,即重要比赛或者高级比赛,也被称为商业性比赛。难度较大,需要有深厚的机器学习功底。而且比赛可以获得奖金(数目不小哦),模型也会被运用到实践中。

Research(学术性比赛)
与商业性比赛相比,学术类比赛更具实验性,为解决某些竞争较弱的特定领域提供了解决方案。Research和Featured这两类比赛在赛题背景和难度上都更难,适合深度学习。需要注意的是,在kaggle中只有Research和Featured类型的比赛会累计积分和奖牌。

Other Types(其他类型)
- recruitment(人才征募)
只允许个人参赛,不接受团队报名。在recruitment赛中,个人将为公司策划的挑战建立机器学习模型。在比赛结束时,感兴趣的参与者可以上传他们的简历供主持人考虑。
- inclass(课业比赛)
- annual(年度比赛)
- limited(有限参与赛)
很少举办
按照比赛内容分类
计算机视觉(CV)
这类竞赛往往不仅仅包含图像分类,还有定位、检测和分割,也有视频理解。

机器学习
kaggle上大多数都是机器学习类的竞赛,其便签往往是tabular 。

自然语言处理(NLP)

提交形式
One Stage
在简单的竞赛中,用户在接受竞赛规则后,可以在竞争开始时访问完整的数据集。作为竞赛选手,您将下载数据,在本地或内核中构建模型,生成预测文件,然后将预测作为提交文件上传到kaggle上。
Two Stage
在两阶段比赛中,挑战分为两部分:第一阶段和第二阶段,第二阶段建立在第一阶段取得的成绩上。阶段2涉及在阶段开始时发布的新测试数据集。阶段2的合格性通常需要在阶段1中提交。
Code Competition

需要选手提交代码,由kaggle提供的平台上运行Notebook,生成prediction并记分。
完成我的第一个kaggle项目
注册kaggle账号
首先,我们需要注册一个kaggle账号,才能Join Competitions。

点击Register,有两种注册方法:
- 使用Gmail邮箱注册
- 使用自己的邮箱账号注册

这里推荐大家使用第一种方法,Gmail邮箱注册,使用自己的邮箱注册会遇到无法显示人机验证码的问题,第一种方式还是比较保险的。
科学上net
安装chrome浏览器,下载地址:https://www.google.cn/chrome/
- 安装Ghelper插件:https://googlehelper.net/
- 或者安装iGuge Helper https://iguge.app/
拖动iguge到Chrome浏览器的扩展程序。下载链接:https://iguge.app/
会弹出一个登陆验证的界面,使用QQ邮箱就可以验证。

注册Gmail
接下来就可以访问:
来创建一个Gmail账号

按照要求填写就可以了,建议购买Gmail的会员,这样就可以有更多使用权限了。

使用Gmail注册kaggle
点击 Register with Google

输入自己的Gmail地址,点击下一步,输入密码。



因为之前已经注册过了,所以就直接登陆进来了。第一次登陆需要设置kaggle用户名等内容,按照提示操作即可。
参加比赛
了解赛题
可以选择一个自己感兴趣的赛题,尝试一下。这里以House Prices这个入门级的比赛为例,分享参赛的完整步骤。House Prices比赛链接:
进入House Prices比赛页面后,点击“Join Competition”。先通过Overview查看一下赛题的背景和评分提交形式。

可以发现,这个比赛的提交形式就是One Stage,最终只需要提交预测结果,必须是csv文件,只含Id与SalePrice两列内容。
接着就可以到Code和Discussion页面查看一下其他选手的讨论和分享的资源,选择得分最高或者投票最多,它们的总结会给我们很多提示。

创建New Notebook
然后就可以创建自己的第一个Notebook了,点击“New Notebook”。

进入自己新建的Notebook页面

写入数据处理和模型训练代码

点击Save Version,Save&Run All表示将代码全部运行一遍,后面可以提交结果。Quick save只是保存内容,不能提交。

提交预测结果
保存成功后,从边框栏的recently viewed找到刚刚跑完的notebook,点击demon-2。

进入demon-2,点击Output。

可以看到Submit这个选项,点击Submit提交。


提交成功后,可以直接查看结果。


可以点击跳转到leaderboard界面查看排名

希望大家找到适合自己的比赛,参与其中学有所成,拿到高分和奖牌!

posted on 2024-01-05 15:01 王闯wangchuang2017 阅读(206) 评论(0) 收藏 举报