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

简介: Python和R是当今数据科学最常用的两种语言。 它们都是完全开源的产品,并且可以根据GNU公共许可证的要求完全免费使用和修改。但哪一个更好? 而且,更重要的是,你应该学习哪一个?两者都被广泛使用,并且是每个数据科学家手中的标准工具。

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代码。这将为我们提供两种语言如何工作的良好画面。

img_b245e6325e876f633bf613a1e1a445e0.png
carbon.png

img_f60d38bff195feec1a524bd96d016723.png

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


img_48909d7e18a8562a4ccb1b86724b6c8c.png
img_a1ea4404cbd28ff295dc44dbd1c96289.png

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

结论

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

目录
相关文章
|
1月前
|
数据采集 缓存 Java
Python vs Java:爬虫任务中的效率比较
Python vs Java:爬虫任务中的效率比较
|
4月前
|
安全 数据安全/隐私保护 数据中心
Python并发编程大挑战:线程安全VS进程隔离,你的选择影响深远!
【7月更文挑战第9天】Python并发:线程共享内存,高效但需处理线程安全(GIL限制并发),适合IO密集型;进程独立内存,安全但通信复杂,适合CPU密集型。使用`threading.Lock`保证线程安全,`multiprocessing.Queue`实现进程间通信。选择取决于任务性质和性能需求。
92 1
|
23天前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
Python Web框架比较:Django vs Flask vs Pyramid
28 1
|
1月前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
Python Web框架比较:Django vs Flask vs Pyramid
25 4
|
1月前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
【10月更文挑战第10天】本文比较了Python中三个最受欢迎的Web框架:Django、Flask和Pyramid。Django以功能全面、文档完善著称,适合快速开发;Flask轻量灵活,易于上手;Pyramid介于两者之间,兼顾灵活性和安全性。选择框架时需考虑项目需求和个人偏好。
34 1
|
1月前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
【10月更文挑战第6天】本文比较了Python中三个最受欢迎的Web框架:Django、Flask和Pyramid。Django功能全面,适合快速开发;Flask灵活轻量,易于上手;Pyramid介于两者之间,兼顾灵活性和可扩展性。文章分析了各框架的优缺点,帮助开发者根据项目需求和个人偏好做出合适的选择。
35 4
|
1月前
|
C++ Python
Python Tricks--- Object Comparisons:“is” vs “==”
Python Tricks--- Object Comparisons:“is” vs “==”
|
3月前
|
Shell 数据处理 C++
【震撼揭秘】Python正则VS Shell正则:一场跨越编程边界的史诗级对决!你绝不能错过的精彩较量,带你领略文本处理的极致魅力!
【8月更文挑战第19天】正则表达式是文本处理的强大工具,在Python与Shell中有广泛应用。两者虽语法各异,但仍共享许多基本元素,如`.`、`*`及`[]`等。Python通过`re`模块支持丰富的功能,如非捕获组及命名捕获组;而Shell则依赖`grep`、`sed`和`awk`等命令实现类似效果。尽管Python提供了更高级的特性和函数,Shell在处理文本文件方面仍有其独特优势。选择合适工具需根据具体需求和个人偏好决定。
38 1
|
3月前
|
机器学习/深度学习 数据可视化 数据处理
Python vs R:机器学习项目中的实用性与生态系统比较
【8月更文第6天】Python 和 R 是数据科学和机器学习领域中最受欢迎的两种编程语言。两者都有各自的优点和适用场景,选择哪种语言取决于项目的具体需求、团队的技能水平以及个人偏好。本文将从实用性和生态系统两个方面进行比较,并提供代码示例来展示这两种语言在典型机器学习任务中的应用。
90 1
|
3月前
|
存储 C语言 Python