首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么互联网公司更喜欢Java/Python作为数据科学家的工作?

为什么互联网公司更喜欢Java/Python作为数据科学家的工作?
EN

Data Science用户
提问于 2016-08-18 05:05:45
回答 8查看 13.7K关注 0票数 57

我在数据科学家的职位描述中见过很多次,要求获得Python/Java经验,而忽略R。下面是我通过linkedin申请的一家公司的首席数据科学家发来的一封个人邮件。

X,谢谢你的联系和表达的兴趣。你确实有很好的分析能力。然而,我们所有的数据科学家都必须具备良好的Java/Python编程技能,因为我们是一个互联网/移动组织,我们所做的一切都是在线的。

虽然我尊重首席数据科学家的决定,但我无法清楚地了解Python能够完成哪些R不能完成的任务。有人愿意详细说明一下吗?如果我能得到更多的细节,我实际上很想学习Python/Java。

编辑:我在Quora上发现了一个有趣的讨论。为什么Python是数据科学家的首选语言?

Edit2: Udityon面向机器学习的语言与图书馆的博客

EN

回答 8

Data Science用户

回答已采纳

发布于 2016-08-18 06:14:06

这样您就可以与代码库的其余部分集成。您的公司似乎使用Java和python的混合。如果站点的一个小角落需要机器学习,用数据库或缓存传递数据,然后放到R中,你会怎么做?为什么不用同一种语言来做呢?它更快,更干净,更容易维护。

你知道有哪一家网上公司只靠R经营吗?我也不..。

所有这些都表明Java是我做数据科学的最后一种语言。

票数 68
EN

Data Science用户

发布于 2016-08-18 11:25:45

可能有很多原因,比如:

  1. 员工团队的灵活性:一个Java / Python程序员可以轻松地转移到其他任务或项目。
  2. 候选可用性:有大量的Java / Python程序员。您不希望引入一种新的编程语言,以便以后发现没有合格的工作人员,或者他们太贵了。
  3. 集成和ETL:有时以正确的质量获取数据是项目中最困难的部分。因此,使用与其他系统相同的语言是很自然的。
  4. 业务模型定义:大多数业务规则和业务模型都是用这种语言编写的。
  5. 只是保持简单。它已经很难跟上技术的发展。多样的语言基础可能是混乱的。R代表这个,Ruby代表那个,Scala,Clojure,F#,Swift,Dart.他们可能需要不同的服务器,不同的路径,地狱来管理。所有的工具和插件都有自己的IDE(并不总是免费的)。看鲍勃叔叔关于语言选择新技术的观点

因此,即使你有5% - 15%的生产力优势,使用R来完成特定的任务,他们可能更喜欢一个工具,即使不是以最有效的方式来完成这项工作。

票数 26
EN

Data Science用户

发布于 2016-08-18 14:02:30

通常情况下,对于纯粹的数据科学和统计练习,R提供了最好和最快的工具和方法(特别是如果使用data.table包),否则在Python中实现起来就更困难了(不过,我认为我们都是指Pandas )。事实上,大多数数据科学家确实使用R来进行他们的模型和计算,或者仅仅是为了观察数据的行为。

一旦练习完成,就应该将其提供给其他必须使用它的人(即部署);为此,通常倾向于以Python提交代码,主要原因有两个:

  1. 大多数体系结构都是用Python编写的,或者是Python友好的,因此用Python语言编写的模型更容易实现。
  2. 语法和语法都非常复杂。我本人非常支持R,而不是其他任何东西,但是我不得不承认,语法并不是很简单,而且有一个非常精心挑选的学习曲线。

以上所述,只要有方法、库和包可用,就可以轻松地将R代码转换成任何其他语言(在Python中大多数是这样,所以这根本不是问题)。许多基础设施和数据库支持底层的R代码,因此可移植性并不是一个真正的问题,特别是如果一个人只需要提交计算结果(到目前为止,没有人真正看到底层代码)。

Java对纯粹的数据科学本身几乎没有任何用处(尽管斯坦福大学有一组用Java编写的机器学习NLP库,但请检查一下)。唯一的原因是它可以被要求,只是公司的其他人在很大程度上使用它,他们不想用新的东西取代它。

票数 14
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/13513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档