机器学习用scala还是python_机器学习最受欢迎的语言:Python、Java 还是 R ?

报道大数据企业:大数据产品、大数据方案、

大数据人物

分享大数据干货:大数据书籍、大数据报告、

大数据视频

本文系大数据人精选自新智元。

欢迎更多优质原创文章投稿给大数据人:admin@bigdata.ren

小编微信:data985

要想获得机器学习或数据科学的工作机会,什么编程语言是最应该学习的呢?这是一个一针见血的问题。许多论坛都有讨论过这个问题,我会在这篇文章提出我自己的答案,并解释原因,但让我们先看一些数据。毕竟,机器学习专家和数据科学家应该做的是:关注数据,而非观点。

那么,让我们来看一些数据。我将使用 indeed.com 上的趋势搜索,它能搜索招聘信息中特定词汇随着时间变化的出现频率。这能反映雇主正在寻找拥有什么技能的人才。需要注意的是,这个不是“哪些技能在实践中最有用”的投票,而是一个某种技能的流行度随时间的演变的指标。

我搜索了“机器学习”和“数据科学”结合使用的技能,其中显著的是编程语言 Java、C、C 以及 Javascript。我还加入了 Python 和 R,因为我知道这两者是机器学习和数据科学的流行语言,以及 Scala,考虑到它与 Spark 的联系,以及 Julia,有人认为它是下一个热门语言。结果如下:

只关注机器学习的情况下,得到类似的数据:

从这些数据中能看出什么?

首先,没有哪个语言是适合所有人的。从表中可以看出,许多语言都相当受欢迎。

第二,所有这些语言在近年都有急剧增长的趋势,反映了过去几年里就业市场对机器学习和数据科学的需求增加。

第三,Python 显然人气最高,其次是 Java,然后是 R,然后是 C 。Python 在今年开始超过 Java,并且人气仍在快速升高,而 Java 和 R 之间的差距在减小。我必须承认,看到 Java 位于第二位我其实相当惊讶,希望 R 取代它升上第二位。

第四,Scala 的增长令人惊讶。大约三年前 Scala 还几乎没什么人使用,现在已经能与其他更成熟的语言同场竞技了。

在 indeed.com 中切换到增长率视图时,这点更加明显:

第五,Julia 的人气跟其他语言相比差很远,但最近几个月肯定有增长。Julia 会成为机器学习和数据科学的流行语言之一吗?时间会告诉我们答案。

假如我们忽略 Scala 和 Julia 以便放大其他语言的视图,那么可以确定的是,Python 和 R 的增长远快于其他语言。

看这个增长速率,也许 R 的受欢迎程度将很快超过 Java。

但使用同样的查询,主题词换成“深度学习”时,得到的数据变得非常不同。

看起来,虽然 Python 仍然是领先的,但现在 C 排到了第二,然后是 Java,C 在第四位。R 降到了第五位。这里显然强调了这些事主要的高性能计算语言。Java 虽然在快速增长,对机器学习总体来说,Java 可能是第二位的。但 R 不会很快到达顶端。令我惊讶的是,Lua 没有上榜,虽然它是一个主要深度学习框架(Torch)的语言。Julia 也不再。

最初的那个问题的答案现在应该很清楚了。Python、Java 和 R 是机器学习和数据科学工作中最流行的语言。但如果你想专注于深度学习,而不是一般的机器学习,那么 C ,其次是 C,也是值得考虑的。但请记住,这只是这个问题的从一个角度得到的答案。如果你想寻求学术界的工作,或者只是想在业余时间学习机器学习和数据科学,你可能会得到不同的答案。

我个人的答案是什么呢?我今年早些时候也在博客中写过了,除了能够支持很多主流机器学习框架,Python 很适合我,因为我有计算机科学背景。我也喜欢用 C 开发新的算法,因为我的大部分职业生涯都在使用 C 编程。这只是我个人的情况,不同专业背景的人可能适合的语言不同。编程技能有限的统计学家肯定会更喜欢 R,而 Java 开发者可以继续喜欢 Java,因为 Java 有大量的开源代码和 Java api。这些图表上的任何语言也肯定适合某些背景的人。

因此,我的建议是在投入时间学习一门语言之前,先阅读一下其他讨论这个主题的其他文章。

原文链接:https://www.ibm.com/developerworks/community/profiles/html/profileView.do?userid=2700028FGP

Tag标签:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值