遵化市论坛

首页 » 常识 » 常识 » 了解Kaggle基本知识
TUhjnbcbe - 2024/6/25 15:53:00
偏方制白癜风 https://m.39.net/pf/a_10991939.html

今天带大家一起了解数据科学、商业分析、金融工程、统计、计算机科学、运筹学等热门学科背景提升利器——Kaggle!!!

Kaggle成立于年,是一个进行数据发掘与托管、预测竞赛、代码编写与分享的在线平台。公司在Kaggle提供数据集和一个实际要解决的问题来吸引数据科学家和爱好者们参与其中,以此来寻找最优解方案。参赛者针对其中的问题研究出的解决方案将被企业参考,最佳方案者可以获得5K-10K美金激励,在Kaggle官方每年一次的大规模竞赛中,奖金高达一百万美金,这使得参赛者们争相参与。

作为众包平台的一种,不同于传统低层次劳动力需求,Kaggle一直致力于解决业界难题,因此也创造了一种全新的劳动力市场——不再以学历和工作经验作为唯一的人才评判标准,而是着眼于个人技能,为顶尖人才和公司之间搭建了一座桥梁。

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

从比赛目标来说,参赛者主要分为两种,一种是以奖金和排名为目的,包括靠奖金为生的职业Kaggler;另外一种就是以提升相关skills和背景为目的业余爱好者甚至在校学生。

从背景来看,前者的来源主要有丰富DataScience、DataMining、MachineLearning工作经验的业内人士,或者是实力强劲的民间“技术宅”;而后者往往是有一定技术能力但经验欠缺,想从中进行学习和锻炼的“长江后浪”。

在理论上Kaggle欢迎任何数据科学爱好者的参与,不过要想从中“有所作为”需先进行“充电”。一般情况下,参赛者有一定的统计、计算机或数学相关背景和coding技能,对机器学习有基本了解。Kaggle项目虽不限制编程语言,但绝大多数队伍会选用Python和R,所以至少应熟悉其中一种。

当然,对于从未独立做过项目的你来讲,还是要从练习赛进行熟悉。因为竞赛模式中的任务是公司悬赏发布的实际案例,并没有标准答案;而练习赛不仅项目难度低,而且也有官方给出的参考方案,具有可比性,从而改善自己的测试结果,在过程中进行提高。

Kaggle竞赛名次优异乃至获得最终奖金的难度非常高,因为一个项目的参与人数通常数千人,而只有Top1可以得到奖金——称之为“高手中的高手。想要持续提高名次需要团队的合作经验与默契程度,所以,对以学习与实践为目的“小白”来说,不要看重排名,在参赛过程中不断提升才是最终目的。当你经历一次又一次的洗礼最终取得不错的成绩后,相信你已经成长为能在相关领域独当一面的人才了。

近年大数据的走红使得DataScience的申请竞争愈演愈烈,因此如何提升背景也是大家非常关心的问题。Kaggle平台正好提供了人人参与项目的机会,而其在领域内的知名度也足以让你在众多申请者中脱颖而出,绝对的申请利器!在Kaggle上无论参与者背景如何,都可以通过参与项目来确定自己的位置,在丰富简历的同时也能学习一些干货,为以后深造打好基础。

名企求职助力

Kaggle也是一个学习与展示平台,在这里你可以接触到真正的业界案例,收获实际项目经验,在每一个项目中不断挑战并提高自己,同时,也可以认识一群志同道合的朋友,扩展professionalnetwork,与业内最顶尖的高手互动,很多队伍在比赛结束后都会公开自己的解法,如果这个项目恰好你参与过,为之投入过无数个日日夜夜,此时就是不可多得的学习机会。如果能在Kaggle榜上占据一席之位,从而提高自己业内知名度,随之而来的可能是非常好的工作机会。

对于刚刚进入这个行业的菜鸟而言,参加Kaggle的项目是非常“长见识”的,可能初期的尝试会非常吃力,毕竟都是非常前沿的问题,但是如果能坚持完整的把一个项目做下来,且不说coding能力会有一个很大的提高,在实际案例中解决问题的能力也会得到极大的锻炼,为自己的职业生涯打下一个良好的基础。如果能在Kaggle这种高手云集的比赛中获得一个还不错的成绩,写在简历上足以打动你今后的Boss,跳槽就翻倍的高薪工作指日可待!

Kaggle竞赛另一个有趣的地方在于每个人都有Profile,上面会显示所有参与过的项目、活跃度、实时排位、历史最佳排位等,不仅看上去有荣誉感和成就感,更能在申请和求职时候起到Certificate作用。

新手提升排位

选择合适的队友

由于Kaggle的项目是由公司提供的,涉及各个行业,所以一般都是不同背景的人组队参加(如统计、CS、DS,项目相关领域如生物等)。因此对于新手来讲,很重要的一点就是要抱好大腿,不仅可以蹭到好的排名,还有机会近距离向大牛学习,技能值必然嗖嗖涨。而自己可以从力所能及的工作做起,如清洗数据等等,积累项目经验。

首先,选择数据量小的项目,这样不管使用什么算法都不会耗时太久,对机器性能要求也不高,出结果也比较快;其次,选择难度低奖金少的项目,一方面竞争小,另一方面也适合新手;最后,选择参与人数多的项目,毕竟有那么多“僵尸号”撑着。这样下来,认认真真做下来排名都不会太难看。

选择恰当的工具

我们都知道循序渐进的道理,对于刚刚涉猎Kaggle,对只是从中学习而不追求高排名的同学来说,可以先从学习MachineLearning中常用的模型做起,比如LogisticRegression和RandomForest,这两个模型对于大多数问题就够了;基础好的还可以学习一下GradientBoosting,虽然难度高一点,但是可视化效果会好很多。

如果对Kaggle比赛感兴趣,但苦于技能或背景不足够强,是否有取得名次立竿见影的方法呢?以下锦囊请收好!

编程语言要适合

工欲善其事,必先利其器。Kaggle比赛最流行的编程语言是Python,很多案例以及kernel上的baseline都是用python写的;其次是R语言或其他。所以我们更推荐学Python。

学习框架要掌握

常用的机器学习或深度学习框架包括Tensorflow,Pytorch,scikit-learn,Theano,Caffe,Keras等等,只要对其中1个有比较深入的了解与运用,打Kaggle比赛基本没有任何问题。

比赛类型要选对

目前Kaggle上的比赛类型分为以下几种,对参赛选手的门槛有不同层级的要求。

01面向初学者

GettingStarted

项目难度低,非常适合入门级的参赛者用来练手,但没有奖牌或奖金,只能看到自己的排名。常年进行中的比赛有:Titanic;Houseprices;DigitRecognition,这三个比赛由于常年挂在Kaggle上,数据集也未做任何更新,已经有很多baseline可以借鉴,很多参赛队伍拿到了满分或接近满分的成绩。

Playground

项目难度比GettingStarted稍难,主要是一些趣味性的比赛,看创意而不是解决具体的研究问题,奖励可能是奖金、荣誉,但不能获得奖牌。

02面向竞赛者

Featured

是Kaggle上主要的竞赛类型,为解决商业问题而设立的比赛,奖金高竞争激烈,有金银铜牌奖励,对参赛选手的能力有一定的要求。

Research

致力于解决科研界学术界的前沿问题,偏向于实验性质,较难;竞争没那么激烈,通常也有奖金和金银铜牌,但有的比赛只给荣誉奖励,或者是提供参加顶会的机会。

Recruitment

为招聘数据科学家而设立的比赛,奖励就是赞助商提供的工作机会。

04其他比赛类型

Annual

不是严格意义上的比赛,每年两次,一次是美国大学篮球锦标赛期间的三月机器学习比赛,一次是圣诞节期间的圣诞主题优化比赛。

Limitedparticipation

通常是私人赛或邀请赛,例如只有master级别及以上才能参加的MastersCompetition。

如果你是初学者,建议从入门级的GettingStarted或Playground比赛开始,能够从中了解到Kaggle比赛的一些基本思路(套路),也能获得比较好的成绩,从而给自己建立信心。上面说完了比赛的类型,接下来介绍下比赛题目的类型。

比赛题目要针对

Kaggle上的比赛题目主要有:DataMining(数据挖掘),ComputerVision(计算机视觉),NaturalLanguageprocess(自然语言处理),Optimization(优化)。

如果你对计算机视觉有兴趣,并且以后想申请相关方向的研究生或是职位,最好就专注于计算机视觉的比赛题目。同一种类型的比赛题目大多有方法可循,打的比赛多了,摸清了套路,自然成绩会越来越好。此外还可以有针对性地选择赛题细分领域,比如同样是计算机视觉的题目,有的是和生物医学相关(如蛋白质图谱分类),有的是和动物保护有关(如座头鲸的识别)。

总而言之,打Kaggle比赛需要“无所不用其极”,除了要熟悉解决相关问题的方法,还需要在实践中不断优化解题思路。如果说科研考察的是一个人对问题的洞察力,那么Kaggle比赛考察的就是一个人对数据的洞察力。Kaggle比赛不光培养一个人的科研审美,还能够帮助参赛者深刻理解数据科学的内涵,例如什么是过拟合,什么是泛化能力,你的模型要经得住数据集的考验。

想在Kaggle中斩获更亮眼的名次,提高自己的技能包和实践力才是终极解决方案!

1
查看完整版本: 了解Kaggle基本知识