数据科学领域Python比R语言更好
经常有学员问我们,在数据科学领域里,到底是该选Python呢,还是选R更好?诚然,对于数据科学家来说,R和Python都很重要。但是对于一个新人数据科学家来说,又该如何取舍呢?同时学习Python和R也有些不切实际。作者TomWaterman作为过来人,他是先学了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-relationalmapping,ORM)为数据结构建模等等。
若掌握Python,将使你更容易精通这些特性,你的职业生涯也将因此受益。
理由三:Python的社区更庞大
Python是世界上最流行的编程语言之一,在Stackoverflow、Kaggle甚至Mediun等网站都有庞大的社区。
因此,当你不可避免地遇到连自己也无法解决的问题时,你更有可能找到那些在你之前遇到过这个问题、寻求过帮助并得到解决方案的人。
这意味着你将花费更少的时间来调试与系统的兼容性问题,而将更多的时间用于交付可为公司带来影响的代码。
理由四:使用Python部署模型更容易
最后,在职业生涯中,你可能会达到这样的一个阶段:你希望能够将模型实时提供给任何一个最终用户。要解决这个问题,你需要构建一个基于REST的Web应用程序,使用Python的话,这件事就会变得很容易。
实际上,Python拥有一些世界上最流行的Web应用程序框架,即Django和Flask。你公司的内部部署工具更有可能就支持这些框架,而且相对来说不太可能会支持R。
这些框架的流行也意味着它们得到了平台即服务提供商(如Heroku、AmazonLightsail等)的良好支持。有了这些框架,你将能够在线发布你的个人项目,而所需的工作量仅相当于在R中部署相同项目所需工作量的一小部分。
最重要的是,如果你足够幸运,你的公司在自己的产品中已经使用了Python框架,那么学习Python就意味着你将有足够的危机感,连接你自己的应用内跟踪。若能够自主为你的模型捕获更多的特性,将会对你所能够带来的影响产生显著的效果。
当然,所有的决策都是需要权衡取舍的,选择学习Python而不是R也没有什么不同。尽管我个人认为Python对数据科学职业来说是更好的选择,但Python的缺点也同样值得考虑。
对我来说,Python最大的缺点就是没有与RStudio相当的工具。Python最有可比性的是JupyterNotebook,但我个人觉得RStuduo更好一些,因为它具有数据探索的功能。
作者注:在写完本文后,MarceloGarcia指出可以使用免费的Spyder包作为RStudio的Python替代方案。但作者还没有机会尝试Spyder,但是看起来很棒!
R在学术界也非常流行,因此,R中软件包的文档更有可能是直接引用学术研究。这些文档对于从事研究“前沿”工作的数据科学家来说非常有用。
但我并不认为RStudio的缺乏,就能足以否定Python的相对优势。而且,在数据科学学术界从业者也少得多,这使得R的研究相关优势对大多数数据科学家来说不那么重要了。
因此,尽管R有很多优点,但我相信如果你选择学习Python,你的职业生涯将会受益匪浅。
最后,我认为值得一提的是,我并不认为学习R就是个糟糕的选择,只不过Python更可能是你职业生涯中的一个更好的选择而已。要根据你的具体情况,学习R对你来说也有可能更有意义。
不管你选择学习哪种语言,你都不应该觉得你永远不能改变主意。要知道,所有的编程语言的相似之处可要远远多于不同之处:学习第二门编程语言要比第一门编程语言容易得多。
实际上,我恰恰选择的就是先学习R的!因此,就算我现在建议将Python作为你职业生涯的更好选择,但我也很难对R不认可。
以上内容为大家介绍了数据科学领域Python比R语言更好,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。http://www.mobiletrain.org/
相关推荐HOT
更多>>python流式读取大文件的两种方法
python流式读取大文件的两种方法1、使用read方法分块读取使用更底层的file.read()方法,与直接循环迭代文件对象不同,每次调用file.read(chunk_...详情>>
2023-11-14 16:48:08pythongreenlet如何交替运行
pythongreenlet如何交替运行1、greenlet说明greenlet是一个基于Greenlet实现的网络库,它使用greenlet来实现协同程序。其基本思想是,当greenle...详情>>
2023-11-14 14:52:57python收集参数的调用顺序
python收集参数的调用顺序本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。1、说明收集参数,关键字参数,普通参数可以混合使用使用...详情>>
2023-11-14 13:23:09python实例属性的优先级分析
python实例属性的优先级分析1、说明当在实例上给类属性赋值时,实际上是给这个实例绑定了同名的属性而已,并不会影响类属性和其他实例。使用实...详情>>
2023-11-14 10:17:33