数据可视化告诉你机器学习和数据科学哪些语言最火

导读

在做数据分析项目和规划职业生涯的时候,该选择哪一种编程语言?不同职业背景的人的答案都不尽相同。下面是indeed.com对人们在机器学习以及数据科学方面选择的编程语言的分析数据。

当人们想找一个机器学习和数据分析方向的工作时,应该学哪一种编程语言?这是一个备受争议的问题,在许多论坛吵得热火朝天。我虽然自己心中已有答案,但是最好还是先看一些数据。毕竟,研究数据而非观点才是机器学习和数据科学工作者们该做的。

我使用的是indeed.com提供的趋势搜索工具。它会展示在工作机会中指定术语的出现频率,它体现了雇主们在寻找的技能是什么。但需要注意的是,这个工具并非展示哪些技能最为实用,相比,它是一种衡量技能流行趋势的高级指标(更正式地说,它可能更像流行度的一阶导数,因为流行度就是入职时技能加上培训技能与退休和离职时技能的差额)。

让我们看一看数据。我搜索了在“机器学习”和“数据科学”两方面需要的技能,其中包括最流行的编程语言:Java,C语言,C++和JavaScript,我同样包括了在机器学习和数据科学领域非常流行的Python和R语言,以及Spark相关的Scala和前景明朗的Julia。运行查询之后,我们得到如下结果:

当我们只搜索“机器学习”领域的时候,我们得到的数据差异不大:

我们可以从这些数据中得出怎样的结论?

首先,没有万金油。 在这种情况下,受欢迎的语言数量相当多。

第二,所有编程语言的人气急剧增加,反映了在过去几年对机器学习和数据科学的兴趣也在迅猛增加。

第三,很明显,Python排名第一,其次是Java,然后是R,然后是C ++。Python超越Java正在增加,而Java对于R的领先优势正在减少。实际上我看到Java排名第二还吃了一惊,我以为会是R。

第四,Scala的增长惊人。 它在3年前几乎是不存在的,现在已经在与一些更成熟的语言同场竞技。 当我们切换indeed.com上的数据的相对视图时,这个趋势更明显了:

第五,Julia的人气还不能与其他几个同日而语,但最近几个月肯定有显著增长。 Julia会成为机器学习和数据科学的流行语言之一吗? 让我们拭目以待。

如果我们忽略Scala和Julia,重点研究其他语言的增长趋势,那么我们可以发现Python和R的增长速度超过了整体。

鉴于目前的增长速度,R语言的流行度很快就会超过Java。

当我们在“深度学习”领域运行这个查询的时候,数据就会不一样了。

在这里,Python仍然是领导者,但C ++现在是第二,然后是Java,C语言排在第四名, R语言只在第五排。显然,高性能计算语言备受青睐。Java正在快速增长,它可以很快到达第二名,机器学习一般。 R不会很快就在顶端。虽然Lua被用在主要的深度学习框架(Torch)中,它的排名却很低。 Julia也不在排行榜中。

那么最原来问题的答案现在就应该很清楚了。Python,Java和R是机器学习和数据科学工作中最流行的技能。如果你想专注于深度学习而不是一般的机器学习,那么C ++以及一些低成都的C语言也值得考虑。但请记住,这只是看问题的方法之一。如果你在学术界寻找工作机会,或者你只是想在业余时间学习机器学习和数据科学,你可能会得到不同的答案。

我个人的看法是:除了许多来自顶级机器学习框架的支持,Python是很适合的,因为我有计算机科学的学术背景。因为我在大部分职业生涯中都使用C++语言,我也会使用C ++开发新的算法。但这是我个人的情况,有不同背景的人可能感觉另一种语言更好。编程技能相对有限的统计学家肯定会喜欢R语言,一个强大的Java开发人员可以一直使用他钟爱的Java(毕竟有大量的开源Java API)。图上的任何语言都可以是任何人的最爱。

因此,我的建议是去其他博客逛逛,看看其他人对这个问题的看法,然后投入大量的时间去学习语言吧。

END

投稿和反馈请发邮件至holly0801@163.com。转载大数据公众号文章,请向原文作者申请授权,否则产生的任何版权纠纷与大数据无关。

原文发布于微信公众号 - 大数据(hzdashuju)

原文发表时间:2017-03-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据钻研

10年后编程还有意义吗?

这个是Quora上提出的一个问题。随着AI在近年来成为热门话题,并且在AlphaGo自学围棋击败了人类近10年最好的围棋选手之后,有人开始提出这个问题。具体来说...

298120
来自专栏VRPinea

斥资千万,7663VR竞技平台宣布独代VR神作《黑盾》

29880
来自专栏Java学习网

大数据行业5个职位方向指南

 大数据已不再是新词,企业也越来越需要大数据高端人才。这给想要从事大数据方面工作的人员提供了难得的职业机遇。那么在大数据行业,都有什么职位可以选择呢?来看看大数...

31450
来自专栏张俊红

读书笔记|互联网运营之道

关于本书 运营的重要性在互联网公司发展中是不可或缺的,尤其是在产品同质化越来越厉害的当下,运营成了同质化产品竞争的法宝,越到产品后期,运营为产品带来的差异化价值...

35250
来自专栏华章科技

从BAT看企业构建大数据体系的六层级

注:本文的主要内容是在迅雷公司内部做了分享《大数据成为生产力》 ,150页的PPT,内容太多,讲的速度有些快。删减掉一些敏感信息,汇总主要观点浓缩成为此文,或许...

13630
来自专栏大数据文摘

车品觉——数据的本质就是还原

29680
来自专栏Java架构

码农从面试到架构师的进阶之路

如何才能敲开BAT等知名互联网公司的大门?程序猿的职业生涯又是怎么样的?从码农到架构师,这期间要经历什么?以及如何才能在激烈的互联网行业中保持强大的技术竞争力?

11420
来自专栏陈树义

如何写出别人看得懂的技术文章?

说起写博客,我从 2014 年毕业开始就有写博客的习惯,只不过当时写的博文更多是像记笔记,读者看下来迷迷糊糊的。我开始真正意义上的写博客应该是从 2017 年 ...

10720
来自专栏Java学习网

代码质量:结对编程最不重要的理由

代码质量:结对编程最不重要的理由 Braintree对于软件开发有一套自己的方法。其中一个感觉特别有冲击力的就是有关结对编程方面的内容。 很多人在讨论结对编程的...

25250
来自专栏张高兴的博客

极限编程核心价值:沟通(Communication)

沟通(Communication)是极限编程(Extreme Programming,XP)的关键核心价值。

8630

扫码关注云+社区

领取腾讯云代金券