专栏首页生信小驿站Python Vs R:数据科学家的永恒问题pythonR结论

Python Vs R:数据科学家的永恒问题pythonR结论

Python和R是当今数据科学最常用的两种语言。 它们都是完全开源的产品,并且可以根据GNU公共许可证的要求完全免费使用和修改。但哪一个更好? 而且,更重要的是,你应该学习哪一个?两者都被广泛使用,并且是每个数据科学家手中的标准工具。答案可能让您感到惊讶 - 因为作为专业数据科学家,您应该准备好应对这两者。

Python有一些使用案例,R也是如此。使用它们的场景各不相同。 更常见的是环境以及客户或雇主的需求决定了Python和R之间的选择。许多事情在Python中都比较容易。 但R也在您的开发工具包中占有一席之地。

python

Python是Guido Van Rossum于1991年发布的通用编程语言。 从那时起,Python已在多种环境中用于多种用途,包括但不限于: ●Web开发(Django) ●Web微服务(Flask) ●适用于Python的Zappa无服务器框架 ●TensorFlow(深度学习机器学习模型) ●Keras(简化TensorFlow开发的高级抽象)

Python闪耀的另一种情况是现有的数量众多的库,这些库很容易获得并且可以开源使用。 PyPI(Python Package Index的简称)存储库中提供了大量软件包,包含超过121k的软件包,可以在不同的抽象级别自动执行许多编程任务,使程序员的生活变得轻松。 PyPI的软件包中至少有6k专注于数据科学。 Python在可读性方面也很出色。与R相比,Python更容易阅读和理解。 Python比R更快,在某些情况下显着更快。

R

R是由统计学家为统计学家设计的统计学家编程语言。它起源于90年代的George Ross Ihaka和Robert Gentleman。 R擅长学术用途并掌握在统计学家手中。在统计学方面接受过正规培训的人,如统计学位,发现与R合作非常简单。 R软件包或库的存储库称为CRAN(Comprehensive R Archive Network),包含近12k软件包,其中大约一半用于数据科学。 R还擅长数据可视化。一次性分析数据通常更简单,更容易在R中表达。

此外,曾几何时,使用Python意味着将许多库链接在一起,其中一些库在功能修订和库更新后会变得不兼容。由于Anaconda,这已不再适用 - 见下文。在很短的时间内,深度学习严格来说就是一个Python功能 - 它在很短的时间内将机器学习世界的平衡转向了Python。然而,随着R中TensorFlow的Keras的发布,该因素也发生了变化,现在可以在R中使用深度学习模型。

所以答案是什么?你应该使用哪一个?

答案 - 两者兼而有之。

Continuum Analytics的Anaconda发行版完全改变了了机器学习现状。 Anaconda支持Python和机器学习所需的标准库 - NumPy,SciPy,Pandas,SymPy,Seaborn,Matplotlib - 以及完全支持R和一个名为R Studio的出色IDE。 对于深度学习,它支持TensorFlow,Theano,Caffe,Scikit-Learn和Torch。其最显着的特点之一是引入了Jupyter Notebook,这是一个集成平台,支持在同一环境中使用Python和R,同时保持所有开源。 另一个选项是Atom文本编辑器的Hydrogen插件。它允许您输入可在Jupyter Notebook中使用的任何代码,并在编辑器中返回结果。但是,它仍处于alpha状态,并在本地计算机上出现错误而崩溃。 Jupyter Lab应用程序允许在相同的环境中编辑Python和R笔记本,使用独立甚至远程内核的概念。因此,Python在机器学习方面表现优异,而R在统计学方面表现优异。但是你为什么要学习两者?

因为专业数据科学家需要非常详细地了解机器学习算法背后的统计数据和数学知识。

我们将研究两个SVM机器学习模型,一个通过Python代码,另一个通过R代码。这将为我们提供两种语言如何工作的良好画面。

carbon.png

R代码 该程序使用虹膜数据集来说明非线性SVM分类器的使用。 这段代码故意稍微复杂一些,因为它将ML技术应用于完整的内置数据集 - 虹膜数据集 - 用于说明传统ML技术容量的规范数据集之一。 这段代码还说明了R的内置统计函数的用法。 在执行下面的代码之前,您需要安装R包e1071并通过调用库(e1071)将其添加到编译列表中。 但不要担心 - 在R Studio中安装新软件包非常简单。

正如您所看到的,R代码在其图形和统计能力方面基本上比Python更强大。作为统计学家的统计学家的语言,如果你有统计学背景,使用R将是你在数据科学新职业生涯中最好的启动板。

结论

因此,当谈到在Python和R之间进行选择时,任何数据科学家都会知道他应该知道两者。 那么,在Python与R之间,总结一下: 两者都在数据科学中执行类似的任务,但是针对不同的领域进如果您是软件工程师,请选择Python。如果您是学术研究员,请选择R. 如果您是数据科学家 - 请同时选择两者。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • pandas入门①数据统计

    本指南直接来自pandas官方网站上的10分钟pandas指南。 我将它改写以使代码更易于访问。 本指南适用于之前未使用pandas的初学者。

    用户1359560
  • Python数据处理从零开始----第二章(pandas)(十一)通过列属性对列进行筛选

    该函数的主要格式是:DataFrame.select_dtypes(include = None,exclude = None),返回DataFrame列的子集...

    用户1359560
  • Python数据处理从零开始----第三章(pandas)①删除列目录

    在这里默认:axis=0,指删除index,因此删除columns时要指定axis=1; inplace=False,默认该删除操作不改变原数据,而是返回一个...

    用户1359560
  • 麻省理工教授推荐,看这本书的实战指导足够学好Python,经典指导

    今天我给你介绍的这本书,也许会让你开始改变这 种想法,因为这本书上的练习和案例以及指导本身就足够学好Python了。

    Python编程大咖
  • 6年级学Python,高中学AI?这6本书,助你找回输掉的起跑线

    导读:新学期开始了,数据叔猜你一定带着 想死 期待的心情回到了学校。数据叔也相信在刚过去的暑假里你一定有所收获!(至少收获了体重吧?)为了迎接新学期,数据叔今天...

    华章科技
  • 如何用《玉树芝兰》入门数据科学?

    链接起散落的文章,给《玉树芝兰》数据科学系列教程做个导读,帮你更为高效入门数据科学。

    王树义
  • 【知识】使用Python来学习数据科学的完整教程

    编者按:Python学习和实践数据科学,Python和Python库能够方便地完成数据获取,数据探索,数据处理,数据建模和模型应用与部署的工作,对于数据科学工作...

    陆勤_数据人网
  • Python成为高收入国家增长最快的语言

    摘要:本文根据Stack Overflow流量分析了Python及其他一些编程语言的发展情况,同时也对高收入国家与非高收入国家的情况进行了对比。以下是译文。 我...

    小小科
  • Python高居顶级编程语言交互排行榜第一,你要做些什么呢?

    关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第二 【Python】:排名第三 【算法】:排名第四 IEEE Spectrum 发布了2...

    昱良
  • 【Python成为高收入国家增长最快的语言】开发者生态系统十大语言

    【新智元导读】本文根据Stack Overflow流量分析了Python及其他一些编程语言的发展情况,同时也对高收入国家与非高收入国家的情况进行了对比。英文原文...

    新智元

扫码关注云+社区

领取腾讯云代金券