在开展数据分析项目或职业生涯规划时,应选哪一种编程语言?对此问题,不同职业背景的人给出的答案各不相同。让我们从数据角度来看看,人们在机器学习和数据科学方面所选的编程语言。
要想在机器学习或数据科学领域寻找一份工作,应该学习哪种编程语言?这是一个银弹问题,在许多论坛上引发了人们的热烈讨论。虽然我心中已有答案,也会解释其中的缘由,但是最好还是先来看一些数据。毕竟,机器学习和数据科学领域的工作者们研究的是数据,而非观点。
那么,我们先来看一些数据。我将使用 indeed.com 提供的趋势搜索工具。它可以查询到招聘信息中指定术语随着时间变化的出现频率,这能反映出雇主们正在寻求具备哪些技能的人才。但需要注意的是,它不是一份民意调查,不能说明哪些技能最为实用,而是衡量技术流行趋势的高级指标(更确切地讲,它可能更像是技术流行度的一阶导数,因为流行度就是入职时技能加上培训技能与退休和离职时技能的差额)。
话不多说,一起来看数据。我搜索与“机器学习”和“数据科学”连同使用的技能,其中的技能就是某种重要的编程语言,例如,Java、C、C++ 以及 Javascript。我还纳入了 Python 和 R语言,众所周知,这两种语言在机器学习和数据科学领域非常流行,以及与 Spark相关的 Scala 和前景光明的 Julia。运行查询之后,我们得到了如下结果:
当我们针对机器学习进行搜索时,得到的数据十分类似:
从这些数据中可以看出什么?
第二,所有这些语言的人气都在急剧上升,反映出过去几年人们对机器学习和数据科学的兴趣与日俱增。
第三,很显然,Python 位列榜首,紧随其后的是 Java,第三是R,然后是 C++。Python 不断攀升的人气已经超过 Java,并且流行度还在,而 Java 与 R 之间的差距逐渐缩小。
第四,Scala 的发展引人注目。这种语言在三年前几乎没人使用,而现在却与许多成熟的语言同场竞技了。我们在 indeed.com 上切换到数据的相对视图时,这种趋势更加一目了然。
第五,Julia 语言的流行度与任何其他语言都相距甚远,但是最近几个月呈绝对上升趋势。Julia 语言是否会成为机器学习和数据科学领域中的一种流行语言?让我们拭目以待。
如果我们暂且忽略 Scala 和 Julia,以便关注其他语言的发展趋势,那么我们就会发现,Python 和 R语言的发展速度超过了其他通用型语言。
根据增长速度的差异,也许R的流行度将会很快超过 Java。
当我们针对深度学习运行这个查询时,得到的数据截然不同:
在这个领域中,Python 仍然位列第一,但排名第二的是 C++,然后是 Java,C 语言排在第四位。R 语言仅排名第五位。很显然,高性能计算语言备受青睐。不过 Java 发展速度很快。就一般的机器学习而言,它很快就可以晋升到第二位。R 语言短期内不会登上榜首。让我感到惊讶的是,作为大型深度学习框架(Torch)的主要语言,Lua 竟然没有登榜,而且 Julia 也缺席榜单。
最初问题的答案现在应该很清楚了吧。在机器学习和数据科学领域的工作中,Python、Java 和 R语言是最受欢迎的技能。如果您的关注重点是深度学习而非一般的机器学习,那么应该学习 C++,当然 C 语言也值得考虑。但是,请记住,这只是看待问题的一种方法。如果您想在学术界找工作,或者只是想在业余时间学习机器学习和数据科学,那么您可能会得到不同的答案。
对于学习计算机,有编程基础的,Python 非常适合,不同学科背景的人可能感觉另一种语言更适合。编程技能有限的统计学家无疑更喜欢 R 语言。实力强大的 Java 开发人员会继续使用自己喜欢的 Java,毕竟有大量的开源 Java API。同理,图中的其他语言也是如此。
R语言作为一种数据分析专业语言,是当今数据科学领域最流行的开源编程语言之一,在数据分析与机器学习领域已经成为一款最重要的工具。精通R语言的数据分析师是企业竞相争抢的高薪人才!
第8期R语言数据分析&机器学习高级实战课程正在火热报名中!扫码送课程详细介绍!