告诉我一些数据科学家/统计学家需要做的事情,这些事情在 R/Stata/SAS/SPSS 中无法完成

数据挖掘 Python r 统计数据 爪哇 编程
2022-02-23 05:18:52

为什么我需要学习 Python 或 Java 编程并学习数据结构?我想不出统计学家/数据科学家需要做的一件事情不是内置在 R/stata 中的包中。

3个回答

为什么我需要学习 Python 或 Java 编程并学习数据结构?

简单的答案——你不需要学习 python 或 Java 或 Scala 或 Julia 或其他任何东西,如果你不习惯的话。如果您不了解 Python,这并不意味着您不能成为数据科学家或使用 ML/DL。关键是某些工具更适合某些任务,如果您需要在生产环境中运行得更快的代码等,学习 C++ 或 Java 可能是有益的。但是您可能完全可以使用优化好的 R 代码。你应该做最适合你和你的任务的事情。关于你不能做的事情——我同意你的观点,你基本上可以在 R 中做任何事情,它可能效率不高,但它是可能的。

这是一个很好的问题,就像大多数很好的问题一样,答案是:视情况而定。

这完全取决于您所说的“数据科学家”是什么意思。

对于我自己的数据科学实践,我的目标是提供一个端到端的解决方案,从原始数据一直到部署的软件解决方案(或要使用的 API)。这意味着我模糊了数据工程师、统计学家、建模专家、机器学习工程师和软件开发人员之间的界限。所以对我来说,Python 是显而易见的选择,因为几乎没有什么我不能用那种语言做的。另外,Python 是一种很棒的“胶水”语言,我可以用一种有意义的方式将单独的系统/对象联系起来。您能否快速为我编写一个 SAS 中的公共 REST API,该 API 不会很慢,并且需要花费我 20,000 美元的新许可才能使用?是的,祝你好运。

如果您作为“数据科学家”在学术环境中工作并且只是为了撰写白皮书,那么上述内容对您来说可能根本不重要,您可以继续学习 R。

另一个考虑因素是您的预测周期。所以你有一个模型 - 现在呢?你必须以某种方式使用它。我参与了大量的算法部署,到目前为止,最简单的语言是 Python。你有没有试过在高并发、多线程的环境中部署一个完整的 R 模型???是的,祝你好运。

但同样,如果您不经常(或根本不)部署,那对您来说可能并不重要。

我此时能想到的最后一个考虑因素是您使用的模型类型如果我只使用决策树和套索等“传统”模型,那么我绝对会在 R/R Studio 中工作。用那种语言做起来更容易(也很有趣!)。现在,让我用 R 语言编写一个神经网络,你会看到一个成年人哭泣 ;-) 但我知道 Keras API 的前后方向,我可以在很短的时间内用 Python 进行大量建模时间。

所以,这完全取决于你。我为世界上最大的公司之一工作,我很乐意使用您提到的任何工具;Python、R 和 SAS 都可供我使用,而且我在数据科学方面还算不错;)但我积极选择使用 Python,因为我想成为一名“完整”的数据科学家,能够接受在我遇到的任何问题上。这对你来说可能根本不重要,这完全取决于你。

这与您希望在编程中与语言无关的原因相同。在一种语言中很难的事情在另一种语言中可能更容易。就业市场的要求可能会发生变化,以偏向懂一种语言而不是其他语言的人。

我能想到的最接近的数据科学示例是实现机器学习模型。我知道这在 python 中很容易做到。我不知道用 Javascript 或你提到的任何工具来做这件事有多容易——我只知道 R 是什么。

我个人认为 java 是一种丑陋的语言,所以我不会选择使用它。我奇怪的偏好并没有改变 python 具有全局解释器锁的事实,而我相信 java 没有。它也不会使纯 python 实现与 java 实现一样快——尽管某些技术可以使这成为一个问题。寻找适合他们的 Java 技术堆栈的人的雇主不会关心“我可以在 python 中做到这一点”。

说实话,在 R 中没有什么不能在 java 或 python 中完成,R 是图灵完备的。这并不意味着在 java 或 python 中有些事情并不容易。R 可能不是这项工作的最佳工具。