我在数据科学家的职位描述中见过很多次,要求获得Python/Java经验,而忽略R。下面是我通过linkedin申请的一家公司的首席数据科学家发来的一封个人邮件。
X,谢谢你的联系和表达的兴趣。你确实有很好的分析能力。然而,我们所有的数据科学家都必须具备良好的Java/Python编程技能,因为我们是一个互联网/移动组织,我们所做的一切都是在线的。
虽然我尊重首席数据科学家的决定,但我无法清楚地了解Python能够完成哪些R不能完成的任务。有人愿意详细说明一下吗?如果我能得到更多的细节,我实际上很想学习Python/Java。
编辑:我在Quora上发现了一个有趣的讨论。为什么Python是数据科学家的首选语言?
Edit2: Udityon面向机器学习的语言与图书馆的博客
发布于 2016-08-18 06:14:06
这样您就可以与代码库的其余部分集成。您的公司似乎使用Java和python的混合。如果站点的一个小角落需要机器学习,用数据库或缓存传递数据,然后放到R中,你会怎么做?为什么不用同一种语言来做呢?它更快,更干净,更容易维护。
你知道有哪一家网上公司只靠R经营吗?我也不..。
所有这些都表明Java是我做数据科学的最后一种语言。
发布于 2016-08-18 11:25:45
可能有很多原因,比如:
因此,即使你有5% - 15%的生产力优势,使用R来完成特定的任务,他们可能更喜欢一个工具,即使不是以最有效的方式来完成这项工作。
发布于 2016-08-18 14:02:30
通常情况下,对于纯粹的数据科学和统计练习,R提供了最好和最快的工具和方法(特别是如果使用data.table包),否则在Python中实现起来就更困难了(不过,我认为我们都是指Pandas )。事实上,大多数数据科学家确实使用R来进行他们的模型和计算,或者仅仅是为了观察数据的行为。
一旦练习完成,就应该将其提供给其他必须使用它的人(即部署);为此,通常倾向于以Python提交代码,主要原因有两个:
以上所述,只要有方法、库和包可用,就可以轻松地将R代码转换成任何其他语言(在Python中大多数是这样,所以这根本不是问题)。许多基础设施和数据库支持底层的R代码,因此可移植性并不是一个真正的问题,特别是如果一个人只需要提交计算结果(到目前为止,没有人真正看到底层代码)。
Java对纯粹的数据科学本身几乎没有任何用处(尽管斯坦福大学有一组用Java编写的机器学习NLP库,但请检查一下)。唯一的原因是它可以被要求,只是公司的其他人在很大程度上使用它,他们不想用新的东西取代它。
https://datascience.stackexchange.com/questions/13513
复制相似问题