学习
实践
活动
工具
TVP
写文章

程序人生:左手Python右手R

当今的世界是一个大数据和人工智能的时代,在这个时代,Python和R已经成为数据科学家和人工智能工程师们最需要掌握的两大最流行的编程语言,在数据分析和机器学习领域,这两种语言都是主流编程语言,各有特性,各有特点,各有优势。

Python作为一种通用语言被广泛应用在许多领域,包括Web开发、爬虫、机器学习等,在金融领域也有大量应用,例如银行也用它来部署金融、风险管理和交易管理等平台。根据统计分析,有着深厚软件工程背景的数据科学家们更加喜欢Python,而统计学家们更依赖R语言来工作。

而R语言的优势就在于统计和图形模型,因此更多地被学者、数据科学家和统计人员所采用,Python更注重生产力和代码可读性,它在开发者、工程师和程序员人群中较受欢迎。

简答而言,Python和R都具有以下这些优势:

(一)两者都是免费的;

(二)两者都有活跃的社区支持;

(三)两者都提供开源的工具和类库;

对于Python和R这两种编程语言之间的不同之处,各种说法不一,概括为以下三点:

第一、学习曲线和适用性的不同

Python的学习曲线较低,掌握正确的学习方法,几周时间就可以使用Python来做一些工作了,因此Python已经获得了参与机器学习的数据科学家们的积极响应,而这正是Python的真正优势所在:简单明了,具有无与伦比的可读性和灵活性。Python是一个成熟的编程语言,非常适合实现生产环境算法以及将Web应用程序集成数据分析任务中。

而R语言对于探索性的研究工作很有帮助,并且更适合于复杂的统计分析,对于大数据特别适合。但是R语言对于初学者而言要有一个较为陡峭的学习曲线,且在使用中搜索可用的类库并不那么容易,从而导致延长数据分析过程。并且,虽然R语言是一个很好的工具,但在数据分析之外的功能很有限。R的很多用户库都写得较差,通常情况下运行性能不是特别理想,而这对开发者和用户而言就是一个难以解决的问题。

第二、开发类库和文档支持不同

Python有着丰富的开发库,利用这些类库可以显著缩短项目开始开发到有意义结果之间的时间间隔,大大提高软件开发效率,使原来需要很多代码工作量才能实现的功能短短几行代码就能搞定。这些类库是Python的一大优势所在,例如用于机器学习的pyBrian,这个类库为机器学习任务提供了强大的算法支持,而且文档支持较好。

而相比之下,R语言的CRAN(R档案网络)也是一个较大的代码存储库,可以很方便的安装在R中。很多R用户每天都很活跃地向该库中贡献代码,并且R的许多功能,例如统计计算、数据可视化的功能无以伦比。虽然对初学者来说学习曲线比较陡峭,但一旦用户掌握了基础知识,学习先进的技术就会越发快速。R的Nnet包同样具有快速构建神经网络模型的能力。对于许多统计人员来说,R中的实现和开发文档比在Python提供的更容易理解。

第三、数据可视化实现特点不同

数据可视化是数据分析领域的一个重要组成部分,可以通过识别模式和相关性来简化复杂的信息。Python有着大量的交互特性,比如geoplotlib和Bokeh,要选择最好和最相关的选

项,产生的复杂性有时会让人打怵。而R语言的可视化软件包有ggplot2,ggvis,googleVis和rCharts。通过R进行可视化可以高效并有准备地让复杂的原始数据集看起来信息丰富并且赏心悦目,将数据可视化通过R语言处理会更好,而且实现起来更简单。

Python和R各有特点,对于初学者而言,如果你来自计算机科学与技术/开发者背景,你可能会对Python感到更舒适,而如果你来自统计/分析师/数据专家背景,R语言可能会更直观。而从我个人而言,我更喜欢用Python,因为Python是一种通用的编程语言,可以做任何我想做的事情。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180430G1F0KC00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券