在数据科学范围,为什么 Python 比 R 更好
|
经常有读者问我们,在数据科学领域里,到底是该选 Python 呢,还是选 R 更好?诚然,对于数据科学家来说,R 和 Python 都很重要。但是对于一个新人数据科学家来说,又该如何取舍呢?同时学习 Python 和 R 也有些不切实际。作者 Tom Waterman 作为过来人,他是先学了 R,后来才学的 Python,他给我们列出了为什么 Python 比 R 更适合数据科学领域的四大理由。InfoQ 中文站翻译并分享给大家。 我认为,在数据科学领域,Python 比 R 更合适的理由主要有四个。 新人数据科学家都面临着一个问题,而这个问题非常重要:我是应该学习 Python 呢,还是学习 R? 问得好!这个问题真的非常重要。因为,“男怕入错行,女怕嫁错郎”,要知道,学习第一门编程语言是需要耗费数百个小时的。试图都学这两门编程语言是不切实际的,特别是当你刚刚开始职业生涯的时候。 那么,你应该做出怎样的选择呢? 根据我的经验,如果你选择了 Python,我相信,你的职业生涯将会因此受益良多。 在我看来,对数据科学这一职业来说,Python 是更好的选择,尤其是如果你刚刚起步的话。 我将给出四个理由,来说明为什么我认为 Python 对你职业来说是更好的选择,但我也要澄清一点:我并不认为 R 是一个糟糕的选择。 选择 R 并不会对你的工作机会产生什么负面影响,而是要取决于你的团队,你甚至有可能会被要求学习 R。事实上,Facebook 将 R 作为内部调查工具的分析组件,而我们所有的数据科学基础设施都支持这门语言。 也就是说,我相信,如果你学习 Python 的话,你将会更快地成为一名实践数据科学家,而且还能够更好地在统计建模之外的重要领域为你的团队做出贡献。 因此,学习 Python 将会使你能够为公司带来更大的影响力,而你的职业生涯也将因此硕果累累。 理由一:无论如何,你可能得学习 Python 大多数公司要求他们的数据科学家所做的并不仅仅是预测建模(即机器学习)。至少,你可能需要维护为模型提供数据的数据管道,而这些数据管道很可能就是用 Python 构建的。 目前,管道的行业标准是基于 Python 的 Airflow,而在 Facebook 上,我们使用的内部 Python 工具基本上也是相同的。 事实上,据我估计,在 Facebook,我们的数据科学家 100% 都会在每周使用 Python,而积极使用 R 的人可能只有 10% 左右。 因此,对你来说,如果选择 Python 的话,可能会更有效率:虽然你一旦找到工作就可以避开 R,但不太可能会绕开 Python。 理由二:Python 更容易学习 要知道,成为可雇佣的人所需的时间非常重要,尤其是如果你是在大学以外的地方自学的话。 Python 以易学而闻名。在学过 Python 和 R 之后(虽然我对 Python 方面更深入),我认为,Python 的声誉是当之无愧的。 当你开始使用统计建模之外的语言特性时,Python 易学所带来的好处尤为明显。这些特性包括将项目打包用于分发、开发命令行界面、使用像 SQLAlchemy 这样的对象关系映射(Object-relational mapping,ORM)为数据结构建模等等。 若掌握 Python,将使你更容易精通这些特性,你的职业生涯也将因此受益。 理由三:Python 的社区更庞大 Python 是世界上最流行的编程语言之一,在 Stack overflow、Kaggle 甚至 Mediun 等网站都有庞大的社区。 因此,当你不可避免地遇到连自己也无法解决的问题时,你更有可能找到那些在你之前遇到过这个问题、寻求过帮助并得到解决方案的人。 这意味着你将花费更少的时间来调试与系统的兼容性问题,而将更多的时间用于交付可为公司带来影响的代码。 理由四:使用 Python 部署模型更容易 最后,在职业生涯中,你可能会达到这样的一个阶段:你希望能够将模型实时提供给任何一个最终用户。要解决这个问题,你需要构建一个基于 REST 的 Web 应用程序,使用 Python 的话,这件事就会变得很容易。 实际上,Python 拥有一些世界上最流行的 Web 应用程序框架,即 Django 和 Flask。你公司的内部部署工具更有可能就支持这些框架,而且相对来说不太可能会支持 R。 这些框架的流行也意味着它们得到了平台即服务提供商(如 Heroku、Amazon Lightsail 等)的良好支持。有了这些框架,你将能够在线发布你的个人项目,而所需的工作量仅相当于在 R 中部署相同项目所需工作量的一小部分。 最重要的是,如果你足够幸运,你的公司在自己的产品中已经使用了 Python 框架,那么学习 Python 就意味着你将有足够的危机感,连接你自己的应用内跟踪。若能够自主为你的模型捕获更多的特性,将会对你所能够带来的影响产生显著的效果。
当然,所有的决策都是需要权衡取舍的,选择学习 Python 而不是 R 也没有什么不同。尽管我个人认为 Python 对数据科学职业来说是更好的选择,但 Python 的缺点也同样值得考虑。 (编辑:阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


