DataCastle数据城堡《数据竞赛从0到1》上线,带领小白深入竞赛,找到更多竞赛路上的朋友们。
数据分析和挖掘是近几年最大的就业IP之一,铺天盖地的课程广告,好像错过数据分析就像错过了一个亿。作为新兴职业,大多高校并未开设数据分析相关专业,课外学习课程层出不穷,但一个显而易见的道理是:如果短期培训可以让人快速进入高收入行业,那这种培训必然被抢破头,完全不必满世界拉学员。培训课程本身没错,只是搞数据分析,不是三周上手,三月精通的工作,更不是会用几个工具,会敲几行代码那么简单。对于学习者而言,学习数据分析最大的困难来自于实战。数据分析的目的在于用数据解决实际问题,问题到处都是,而数据却一数难求。在数据安全备受重视的当下,企业数据密不外传,普通学习者往往只能用网上找来、爬来、求来的公共数据做练习,实战经验严重不足。实战经验不足,一方面难以实现技术突破,另一方面也无法在厮杀惨烈的应聘者中脱颖而出。优秀的分析师在优质数据加持下平步青云,还没入行的学习者则陷入没数据,没业务,没经验的恶性循环。实战经验不足的破局之道正是数据竞赛。从1997年首届KDD CUP开始,数据竞赛逐渐从年度盛典转变成常态化赛事,国内外许多政府企业开始开放自有业务数据办赛,既为企业提供了业务问题解决方案,也为参赛者提供了大量的实务数据与项目经验。数据竞赛从0到1
DataCastle数据城堡作为国内最大的第三方数据竞赛平台,决定主动出击,带大家重新审视数据竞赛,并为竞赛小白提供一套完整的数据竞赛全览《数据竞赛从0到1》。本套全览分为三部分,在公众号上长期更新,各位数据竞赛的潜在和现役选手可以给老DC留言,说出你的困惑和感受,老DC将竭尽所能为你解答。什么是数据竞赛?
先举个例子:现在有一张表格物种 | 体重 |
弱鸡 | 1.8kg |
大牛 | 712kg |
大牛 | 806kg |
弱鸡 | 2.1kg |
弱鸡 | 2.3kg |
大牛 | 755kg |
体重 | 物种 |
790kg | |
1.9kg | |
813kg | |
2.4kg |
- 设置一道分隔线,比如100kg,100kg以上是大牛,以下是弱鸡。
- 体重为个位数的为弱鸡,三位数的为大牛
- 设置一个数值,如10kg,与10kg差值绝对值大于10的为大牛,反之为弱鸡
- 还可以有更多复杂的规则……
时间 | 数据A | 数据B |
D1 | 10 | 99 |
D2 | 15 | 150 |
D3 | 8 | 83 |
D4 | 13 | 131 |
时间 | 数据A | 数据B |
D5 | 7 | |
D6 | 9 | |
D7 | 14 | |
D8 | 11 |
为什么参与数据竞赛?
你是一个学生,觉得本专业难就业,开始找出路,偶然了解到数据分析,恰巧你懂一点Python,于是报了个培训班,上了几个月课。学成之后,你查了一下数据分析的招聘要求,发现大公司的要求很高,课堂上学的东西完全卷不过其他竞争者。于是你发奋图强,打算变成技术达人(或者刷简历),开始找数据做项目。网上兜兜转转,收获了一堆公共数据,看着这些数据,你想不通能做出什么拿得出手的项目。这时,你认识了老DC,知道了DataCastle竞赛平台,发现了很多比赛,但你有些慌张,担心自己水平不济,奖金远在天边。朋友,白给的数据,现成的项目,干嘛不做呢?别低估自己,一战成名的选手老DC见得多了。总结下来,参加数据竞赛的好处有三点:1. 获取实务数据,获得实战机会,提升技术水平2. 获得奖金与证书,为履历增光添彩3. 学习优秀方案,拓宽思路。准备工作
你决定参加比赛,千挑万选出自己喜欢的赛题,点击报名的时候有些犹豫。你不知道这里面的水有多深,不知道里面是群魔乱舞还是小学生蹦迪,不知道自己的水平能不能完成这场比赛。老DC想说,你可以。看过上面的例子,你已经对数据竞赛有了模糊的概念。但真实的数据并不只有两三列、四五行,相互之间也并不一定具有强关联。DataCastle与国家基因库合作举办的“数源杯”百万单细胞基因表达数据算法大赛的数据是100GB的表格文件(别怕,这么大的数据量十分罕见),包含786310行、63562列。这种数据别说人脑,一般的PC也难以处理,所以必须借助于工具。如何运用工具搞定这些数据,解决实际问题,正是数据竞赛选手需要面对的挑战。数据竞赛最常用的工具是Python和机器学习算法模型。而使用这些工具,需要参赛者具备三方面的能力:数学基础、编程基础、机器学习相关知识。另外,数据量较大的比赛可能涉及部分数据库技能,前沿赛题可能涉及该学科基础知识,不过这些并非新人的顾虑。▍数学基础如果你大学学过高数,懂一些统计学和概率论,没有全部还给老师,还能看懂教材,那么恭喜你通过数据竞赛的第一关(实际上有一部分比赛根本用不上数学,许多方法内置在相关库中,直接调用即可)。当然,想成为数据分析领域的王中王,需要深厚的数学功底。数据分析顶端的那群人,不仅是工具使用者,更是工具工程师,懂得模型更底层的逻辑与原理,才能达成化境。下图中包含数据竞赛所需的统计学基础知识,公众号后台(不是留言哦)回复“技能地图”,获取高清大图。▍编程基础数据竞赛使用最多的编程语言是Python,偶尔会用到R。Python成为数据竞赛,或者说机器学习主要语言的最主要原因在于其完善的生态以及功能强大的第三方库(及其提供的数据处理能力),如numpy、pandas、pytorch等。这些第三方库将在未来的文章中作为重点介绍。众所周知,Python是一种功能强大的语言,Python的分支更是像老树根一样错综复杂。数据竞赛主要集中在数据分析方向,学会Python基础语法和数据分析“三件套”——Pandas、Numpy和Matplotlib的使用就可以达到数据竞赛的入门水平。数据竞赛不是编程比赛,主要考察的是数据的处理和工具的利用,与工程方向的Python比起来,比赛的语言要求小得多。后续文章中将详细讲解数据竞赛中需要的Python技能以及学习路径。▍机器学习相关知识在之前举例时,我们曾经提到了过拟合,过拟合出现的原因往往由于特征工程中出现了问题。所谓特征工程,就是从原始数据中提取特征的过程,这些特征可以很好的描述数据,并且利用特征建立的模型在未知数据上表现的性能可以达到最优。业界广泛流传这样一句话:“数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已”。对于实务数据,我们很难像上述例子那样简单看出规律,这时候就需要我们把提取出的特征丢给机器,让机器学习这些特征,并且得出规律。数据竞赛中的机器学习并不像Alpha Go那样前沿,对于竞赛新人而言,只需大致掌握机器学习的整体知识脉络以及应用即可参赛。对于具有一定数学和编程基础的同学,机器学习的不二课程一直是Coursera上吴恩达的《Machine Learning》(视频)与周志华的《机器学习》(书籍)。根据赛题的不同,大家可以在参赛的同时有针对性的进行学习,不必硬着头皮啃完一本大部头的教科书。各位同学可以戳屏幕上方DataCastle数据城堡>,老DC将持续更新《数据竞赛从0到1》,帮助你真正实现数据竞赛从0到1的突破。