Python Vs R:数据科学家的永恒问题
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代码。这将为我们提供两种语言如何工作的良好画面。
R代码
该程序使用虹膜数据集来说明非线性SVM分类器的使用。 这段代码故意稍微复杂一些,因为它将ML技术应用于完整的内置数据集 - 虹膜数据集 - 用于说明传统ML技术容量的规范数据集之一。 这段代码还说明了R的内置统计函数的用法。
在执行下面的代码之前,您需要安装R包e1071并通过调用库(e1071)将其添加到编译列表中。 但不要担心 - 在R Studio中安装新软件包非常简单。
正如您所看到的,R代码在其图形和统计能力方面基本上比Python更强大。作为统计学家的统计学家的语言,如果你有统计学背景,使用R将是你在数据科学新职业生涯中最好的启动板。
结论
因此,当谈到在Python和R之间进行选择时,任何数据科学家都会知道他应该知道两者。
那么,在Python与R之间,总结一下:
两者都在数据科学中执行类似的任务,但是针对不同的领域进如果您是软件工程师,请选择Python。如果您是学术研究员,请选择R.
如果您是数据科学家 - 请同时选择两者。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
程序员请你尽早作好打算!
大家可能有感受到,最近新闻特别多,都是事关自身利益的大事,比如加税、减税、比如养老金增加、房产税草案等,都是直接涉及到个人腰包的大事。 而且最近很多朋友的公司、企业业绩相当的差,很多本来正常的公司融资断了,有的直接宣布破产,工资都发不下来的也有一大坨。 既然大家都很缺钱,很难过,程序员又是挣得多、死的早的代表,那么当我们干不动的时候再想出路就晚了。一定要在干得动,有竞争力的时候,尽早选择出路,并坚定不移的走下去,这样最终会的善终。 「 程序员的出路 」 先来看一张图,本来想自己画一个,没想到我大google果然万能,一击命中,省的我在费脑细胞了,拿来一用 此图,基本涵盖了大部分阶层程序员的未来选择和晋升之路,直观明了,大家可以仔细看看,认真入座。 看图应该很明白了,程序员有两条主要的职业通道:技术和管理 1.技术,这个不用多说了,一条路走到黑,最终会发光发热,做到CTO,发布自己的框架和技术专利 ,不用纠结人事斗争,走上人生巅峰、迎娶白富美... 嘿!醒醒,醒醒,这是描述的国外,国内大部分技术人牛了之后最终都会走向管理或者三界之外。 别问我为何知道,因为外部环境还是挺重要的,不做管理好...
- 下一篇
PostgreSQL 10.1 手册_部分 III. 服务器管理_第 26 章 高可用、负载均衡和复制_26.1. 不同方案的比较
26.1.不同方案的比较 共享磁盘故障转移 共享磁盘故障转移避免了只使用一份数据库拷贝带来的同步开销。 它使用一个由多个服务器共享的单一磁盘阵列。如果主数据库服务器失效, 后备服务器则可以挂载并启动数据库,就好像它从一次数据库崩溃中恢复过来了。 这是一种快速的故障转移,并且不存在数据丢失。 共享硬件功能在网络存储设备中很常见。也可以使用一个网络文件系统, 但是要注意的是该文件系统应具有完全的POSIX行为 (见第18.2.2节)。 这种方法的一个重大限制是如果共享磁盘阵列失效或损坏, 主要和后备服务器都会变得无法工作。另一个问题是在主要服务器运行时, 后备服务器永远不能访问共享存储。 文件系统(块设备)复制 共享硬件功能的一种修改版本是文件系统复制, 在其中对一个文件系统的所有改变会被镜像到位于另一台计算机上的一个文件系统。 唯一的限制是该镜像过程必须能保证后备服务器有一份该文件系统的一致的拷贝 — 特别是对后备服务器的写入必须按照主控机上相同的顺序进行。DRBD是用于 Linux 的一种流行的文件系统复制方案。 预写日志传送 温备和热备服务器能够通过读取一个预写式日志(WAL) 记录...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Linux系统CentOS6、CentOS7手动修改IP地址
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Hadoop3单机部署,实现最简伪集群
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题