为什么Python在数据科学领域比R更受欢迎呢?

发表于:2020-2-17 09:22  作者:读芯术   来源:读芯术

字体: | 上一篇 | 下一篇 |我要投稿 | 推荐标签: Python

  新入门的数据科学家都面临一个非常重要的问题:我应该学习Python还是R?
  这个问题非常重要,因为学习第一门编程语言需要花费很多时间。尝试两者兼得是不切实际的,尤其是在你刚开始职业生涯的时候。
  所以你应该选哪一个呢?
  根据我的经验,如果选择Python,你的职业生涯会受益更多。
  在我看来,Python,尤其是在刚刚起步的情况下,是从事数据科学的更好选择。
  我会分四点来解释为什么要选择Python,但同时我要声明,这并不意味着R是一个糟糕的选择。
  
  选择R不会对你的工作产生负面影响,如果你的团队有要求,那你也必须去学习R。事实上,Facebook已经使用R作为内部调查工具的分析组件,我们所有的数据科学基础设施都支持这种语言。
  也就是说,我认为如果先学习Python,作为一名实践数据科学家,你将变得更有效率,并且能够更好地在统计建模之外的重要领域为团队做出贡献。
  因此,学习Python后,你能为公司带来更大的影响力,而你的职业生涯也会受益更多。
  理由1:你总要学习Python
  大多数公司不仅仅要求他们的数据科学家学会预测建模(即机器学习)。至少,你可能需要维护为模型提供数据的数据管道,而这些数据管道可能是用Python构建的。
  如今,管道的行业标准是基于Python的Airflow,,而在Facebook,我们使用的内部Python工具和其基本相同。
  事实上,我估计Facebook的所有数据科学家每周都会使用Python,而只有大约10%的人会经常使用R。
  因此,选择Python可能更有效:虽然一些工作可以避免使用R,但不太可能会避免使用Python。
  理由2:Python更容易学习
  在就业之前,你学习这些技能的时间非常重要,特别是在大学之外自学的话。
  Python以易学而闻名。在同时学习了Python和R之后(尽管更深入地学习了Python),我认为Python有此名声当之无愧。
  当你开始使用统计建模以外的语言特性时,Python易于学习的优点尤其明显。这些特性包括打包项目以供分发、开发命令行接口、使用ORMs(如SQLAlchemy)建模数据结构等。
  使用Python能让你更轻松地学会并精通这些特性,你的职业生涯也会因此受益。
  理由3:Python社区更大
  Python是全球最流行的编程语言之一,在stack overflow、kaggle甚至medium等站点上都有一个庞大的社区。
  因此,当遇到一个自己无法解决的问题时,你会更容易找到有经验的人寻求帮助,解决问题。
  这意味着你无需在调试与系统的兼容性问题上花太多时间,这样一来,你也有更多的时间交付公司所需的代码。
  理由4:Python更易于部署模型
  最后,你可能会在职业生涯中达到这样一个阶段:你想实时将模型提供给任何一个终端用户。要解决这个问题,需要构建一个基于REST的web应用程序,而使用Python来构建这个程序会容易很多。
  事实上,Python拥有一些全球最流行的web应用框架,即Django和Flask。你公司的内部部署工具更可能支持这些框架,而相对不太可能支持R。
  这些框架的流行还意味着它们得到了平台即服务提供商(如Heroku、Amazon Lightsail等)的良好支持。你将能够在线发布个人项目,这与在R中部署相同项目所需的花费相比,简直是九牛一毛。
  最重要的是,如果你足够幸运,你的公司为自己的产品使用了Python框架,学习Python意味着连接你的应用内跟踪变得十分危险。如果你能自主为模型捕获更多的功能,个人影响力会发生巨大改变。
  当然,所有的决定都有取舍,选择学习Python而不是R也是如此。尽管我相信Python是数据科学职业的更好选择,但也要考虑它带来的不利因素。
  对我来说,Python最大的缺点是没有等同于Rstudio的工具。在Python中最具可比性的工具是Jupyter Notebook,但我个人认为Rstudio更好,因为它具有数据探索功能。
  R在学术界也很受欢迎,因此R中包的文档更有可能直接引用学术研究。这些文档对于从事“尖端”研究的数据科学家来说非常有用。
  但我不认为缺少和Rstudio等同的工具可以否定Python的相对优势。在数据科学学术界,职位也少得多,所以对大多数数据科学家来说,R的研究相关优势也不那么重要了。
  因此,尽管R有很多优点,但我相信如果你选择学习Python,职业生涯将会受益匪浅。
  最后值得一提的是,我并不认为学习R是一个糟糕的选择,最重要的是,不论选择哪种语言,你都不应该永远止步于此。所有的编程语言之间,相似之处总是多于差异:学习第二语言也会比学习第一语言容易得多。
  事实上,我选择了先学习R!因此尽管我现在推荐Python作为职业生涯的更好选择,我也很难对R作出不好的评价。

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理

【福利】填问卷送精选测试礼包+接口测试课程!为测试行业做点事!

评 论

论坛新帖

顶部 底部


建议使用IE 6.0以上浏览器,800×600以上分辨率,法律顾问:上海瀛东律师事务所 张楠律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2020, 沪ICP备05003035号
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪公网安备 31010102002173号

51Testing官方微信

51Testing官方微博

扫一扫 测试知识全知道