你好,游客 登录 注册 发布搜索
背景:
阅读新闻

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

[日期:2016-12-27] 来源:新智元  作者: [字体: ]

  【新智元导读】要想获得机器学习或数据科学的工作机会,什么编程语言是最应该学习的呢?

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

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

  我搜索了“机器学习”和“数据科学”结合使用的技能,其中显著的是编程语言 Java、C、C++以及 Java。我还加入了 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。这些图表上的任何语言也肯定适合某些背景的人。

 

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

收藏 推荐 打印 | 录入:admin | 阅读:
相关新闻      
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款