当前位置: 首页 > 科技观察

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

时间:2023-03-13 05:30:35 科技观察

新数据科学家的一个非常重要的问题:我应该学习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的易学性尤其明显。这些功能包括打包用于分发的项目、开发命令行界面、使用SQLAlchemy等ORM对数据结构进行建模等等。使用Python将使你更容易学习和掌握这些特性,你的职业生涯也会因此受益。理由三:Python社区更大来源:PexelsPython是世界上最流行的编程语言之一,在stackoverflow、kaggle甚至medium等站点上都有庞大的社区。因此,当你遇到自己无法解决的问题时,你会更容易找到有经验的人帮助并解决问题。这意味着您可以减少调试系统兼容性问题的时间,从而让您有更多时间交付公司需要的代码。原因4:Python使部署模型变得更容易最后,您可能会在职业生涯中达到一个阶段,您希望为任何最终用户实时提供模型。要解决这个问题,您需要构建一个基于REST的Web应用程序,这在Python中构建起来要容易得多。事实上,Python托管了一些世界上最流行的Web应用程序框架,即Django和Flask。贵公司的内部部署工具更有可能支持这些框架,而不是R相对不太可能。这些框架的流行还意味着它们得到了平台即服务提供商(如Heroku、AmazonLightsail等)的良好支持。您将能够在线发布单个项目,与在R中部署相同项目的成本相比,这只是九牛一毛。最重要的是,如果您足够幸运,您的公司使用Python框架对于它自己的产品,学习Python意味着连接你的应用内跟踪变得危险。如果你能自主地为你的模型捕捉更多的特征,你的个人影响将会发生巨大的变化。当然,所有决定都需要权衡取舍,选择学习Python而不是R也是如此。虽然我认为Python是数据科学职业的更好选择,但也有一些缺点需要考虑。对我来说,Python最大的缺点是没有与Rstudio等效的工具。Python中最可比的工具是JupyterNotebook,但个人认为Rstudio更好,因为它具有数据探索能力。R在学术界也很流行,因此R包的文档更有可能直接引用学术研究。这些文档对于从事“尖端”研究的数据科学家非常有用。但我不认为缺少与Rstudio相当的工具会否定Python的相对优势。数据科学学术界的职位也少得多,因此R的研究相关优势对大多数数据科学家来说不那么重要。所以尽管R有很多优点,但我相信如果你选择学习Python,你的职业生涯将会受益匪浅。最后但同样重要的是,我不认为学习R是一个糟糕的选择,最重要的是,无论你选择什么语言,你都不应该永远止步于此。在所有编程语言之间,相似之处总是多于不同之处:学习第二种语言也比学习第一种语言容易得多。其实我是选择先学R的!所以即使我现在推荐Python作为更好的职业选择,我也很难说R有什么不好。