学数据科学,为何不尝试这 9 个编程语言!

在 256 种编程语言中,了解数据科学的编程语言!

学数据科学,为何不尝试这 9 个编程语言!

作者 | Rashi Desai 译者 | Arvin,责编 | 屠敏头图 | CSDN 下载自东方 IC
出品 | CSDN (ID:CSDNnews)

以下为译文:

数据科学在相当长一段时间以来一直是一件大事。在当今飞速发展的技术世界中,当人类倾向于生成大量数据时,我们必须知道如何分析,处理和使用这些数据以获取更多可了解的业务见解。

关于数据科学中 Python 和 R 的较量已经有足够多的论述了,但是我在这里不是谈论这个问题。两种语言我们都需要这就是我想说的全部。我已经创建了数据科学的十大编程语言列表,您可以在 2020 年学习这些语言,当然也可以尝试列表外的语言。

我选择语言列入榜单时,主要根据其受欢迎程度,Github 被提及的次数,优缺点以及与 2020 年数据科学的相关性。

学数据科学,为何不尝试这 9 个编程语言!

Python

第一个数据科学中所需要的就是 Python。

我可以写几十篇关于 Python 为什么是数据科学首选语言的文章。

由于它的多功能性,数据科学家可以使用 Python 来解决几乎所有与数据科学相关的问题。

为什么是 Python?

Python 的面向对象特性使数据科学家能够以更高的稳定性,模块化和代码可读性来执行任务。尽管数据科学只是多样化 Python 生态系统的一小部分,但 Python 拥有专门的深度学习和其他机器学习库以及像 scikit-learn,Keras 和 TensorFlow 等流行工具。Python 使数据科学家能够开发复杂的数据模型,并将其直接应用到生产系统。

根据 Python 开发人员的调查结果,有 84%的受访者使用 Python 作为主要语言,而有 16%的受访者将其作为第二语言。

Python 中的数据

对于数据收集,Python 支持 CSV,JSON,SQL 表和使用 beautiful soup 工具获取的网络数据。

用于 Python 的数据分析库 panda 是您用于数据探索的最佳工具。通过组织成数据帧,panda 可以轻松地过滤、排序和显示数据。

下面几个类库提供了对数据建模的支持:

  1. NumPy —数值模拟分析

  2. SciPy—科学计算与分析

  3. scikit-learn-访问众多强大的机器学习算法。它还提供了一个直观的界面,使数据科学家可以充分利用机器学习的所有功能,而不必考虑它的复杂性

对于数据可视化,matplotlib,plot.ly,nbconvert 可以将 Python 文件转换为 HTML 文档,列出漂亮的图形和仪表板,帮助数据科学家既有力又美观地来展示研究结果。

学数据科学,为何不尝试这 9 个编程语言!

R

**
**

R 是一个开源工具,它允许数据科学家跨平台地使用诸多操作系统。统计是这一技术的核心优势。R 不仅仅是一种语言,它本身就是一个进行统计计算的生态系统。它的内置函数有助于执行数据处理、数学建模、数据可视化操作等。

R 中的数据

R 支持 Excel,CSV,文本文件,Minitab 或 SPSS 文件格式,使用 Rvest 获取的网络数据以及其他常见的用于数据收集的文件格式。

R 的建立是为了对大型数据集进行统计和数值分析,因此,可以对数据探索执行大量操作-对数据进行排序,转置表,创建图,生成频率表,采样数据,概率分布,合并数据,变量转换等。推荐去探索 dplyr,tidyr,以获得更多的最佳结果。

R 是一种适合于科学可视化的健壮环境,有许多专门用于数据可视化结果图形显示的软件包。我们可以使用图形模块获得基本图形,图表和绘图。可视化效果也可以保存为 jpg. 等图像格式或单独的 PDF 文件。ggplot2 是高级图(例如带有回归线的复杂散点图)的福音。

R Vs Python

对于数据科学来说,关于 Python 与 R 的争论是永无止境的,但是作为数据科学家,我们需要明白,虽然两者都有优点,但也都有缺点。

大多数程序员将一种或另一种编程语言视为他们的“首选”。假设,R 用户有时渴望 Python 语言中内置的面向对象的功能。类似地,一些 Python 用户梦想着 R 中内置的统计分布。这意味着很有可能在一个项目中结合这两种领先的技术来得到一组独特的互补函数。

学数据科学,为何不尝试这 9 个编程语言!

Scala

Scala 是一种结合面向对象和函数式编程的简洁的高级语言。这种语言最初是为 Java 虚拟机(JVM)构建的,Scala 的强项之一是与 Java 代码交互非常容易。

为什么选择 Scala?

选择 Scala 学习数据科学的主要原因之一可以归功于 Apache Spark。结合 Scala 与 Apache Spark 一起来处理大数据(Big Data),这对于数据科学家来说是无价的。

许多基于 Hadoop 构建的高性能数据科学框架通常都是使用 Scala 或 Java 编写的。在这些环境中使用 Scala 的原因是由于它对并发性的顺滑支持。由于 Scala 是在 JVM 上运行,因此与 Hadoop 搭配起来简直无敌。

为什么不使用 Scala?

Scala 唯一的缺点是它的学习曲线。另外,它的社区不是很活跃,因此在出现错误的情况下自行寻找问题的答案就会变得很繁琐。

当数据量大到足以实现该技术的全部潜力时,Scala 非常适合这类项目。

学数据科学,为何不尝试这 9 个编程语言!

SAS

SAS —统计分析系统

与 R 一样,SAS 是为高级数据分析和复杂的统计操作而开发的工具。它是一种封闭源代码的专有工具,提供了各种各样的统计功能来执行复杂的建模。SAS 由于其高可靠性而被大型组织和专业人员广泛使用。

为什么选择 SAS?

请注意,SAS 不是最适合初学者和独立数据科学爱好者的工具,因为 SAS 是为满足不断发展的业务需求而量身定制的。但是,如果您希望将数据科学作为自己的职业,那么最好掌握 SAS 的操作知识,以获得清晰的认识。

SAS 擅长通过 SAS Base (运行 SAS 环境的主要编程语言)执行统计建模。

为什么不使用 SAS?

尽管 SAS 一直是企业分析领域无可争议的市场领导者,但要与 Python 或 R 进行功能比较,SAS 似乎很难对数据进行建模和可视化。学习曲线非常棘手,并且通常被拥有巨大预算的大型公司使用。

SAS 为数据科学家提供了多种认证计划。包括以下几种:

1) SAS Academy for Data Science

The SAS Academy for Data Science 认证计划提供数据操作、高级分析、人工智能和机器学习等课程内容,详见 www.sas.com

2) SAS Programmer Professional Certificate | Coursera

这是 Coursera 提供的 SAS® 认证,提供 SAS® Base 编程语言等内容,详见 www.coursera.org

学数据科学,为何不尝试这 9 个编程语言!

Julia

**
**

Julia 语言处理数据的速度比 Python,JavaScript,Matlab,R 要快,在性能上略逊于 Go,Lua,Fortran 和 C。数值分析是该技术的优势,但是 Julia 也能很好地应对通用编程。

为什么选择 Julia?

Julia 比其他脚本语言更快,这使得数据科学家可以在快速开发 Python / MATLAB / R 的同时生成快速的代码。

借助 Julia 数据生态系统,多维数据加载非常快速。它并行执行聚合,联接和预处理操作。Julia 包括各种数学库,数据处理工具以及用于通用计算的软件包。除此之外,与来自 Python,R,C / Fortran,C ++和 Java 的库的集成非常容易。

为什么不选择 Julia?

由于 Julia 不是一个完全成熟的工具,因此社区范围仍然很有限。在查找错误或故障时,有限的选项或解决方案可能会成为障碍。业内专家们非常希望,当 Julia 变得更加成熟时,能够与 Python 和 R 全面竞争。

**
**

学数据科学,为何不尝试这 9 个编程语言!

MATLAB /Octave

**
**

A 方案——MATLAB

MATLAB 是第一个用于数据科学的工具。我是在 2017 年开始学习数据科学的,当时我在 Coursera 上学习了吴恩达 (Andrew Ng) 的机器学习课程,他在课堂上使用了 Octave。与此同时,我在本科课程中学习 MATLAB,并在 Courser 课程中练习 MATLAB。

我知道 MATLAB 是执行深刻的数学运算最好的编程语言。数据科学大量涉及到数学,这使得这项技术成为进行数学建模,图像处理和数据分析的强大工具。

为什么选择 MATLAB?

它拥有一个庞大的数学函数库,用于线性代数,统计,傅立叶分析,滤波,优化,数值积分和求解常微分方程。MATLAB 提供了用于可视化数据的内置图形和用于创建自定义绘图的工具。

为什么不选择 MATLAB?

现在,数据科学家很少使用 MATLAB,尽管他们说 MATLAB 对于数学和建模非常有用。随着 R 和 Python 在数据科学领域的问世,MATLAB 逐渐衰落。鉴于高昂的许可费用,它目前仅在学术界流行。

您在数据科学中使用的语言在很大程度上取决于您正在解决的问题。如果您的问题需要复杂的数学计算,至少对于初始数据探索和初步结果而言,那么没有比 MATLAB 更好的起点了。

B 方案——OCTAVE

它是 MATLAB 的主要替代方案。一般来说,这两种技术没有本质的区别,只是有一些小的的差别。与 MATLAB 一样,如果需要强大的算术计算,Octave 可以用于数据量相对较小的项目中。

学数据科学,为何不尝试这 9 个编程语言!

Java

Java 可能是用于编程和业务开发的最古老的面向对象语言之一。Hive,Spark 和 Hadoop 等大多数知名的大数据工具都是用 Java 编写的。Java 有许多我们可能不知道的用于数据科学的库和工具,例如 Weka,Java-ML,MLlib 和 Deeplearning4j。

为什么选择 Java?

Java 可能不会成为数据科学的一种显而易见的语言,但是由于诸如 Hadoop 之类的许多数据科学框架都运行在 Java 虚拟机(JVM)上,它仍是数据科学的顶级编程语言之一。

Hadoop 是一种流行的数据科学框架,用于管理大数据应用程序的数据处理和存储。Hadoop 具有一次处理无限任务的能力,因此它支持存储和处理大量数据。

总而言之,如果您想享受 Hadoop 框架的功能,Java 是最好的数据科学编程语言之一。

学数据科学,为何不尝试这 9 个编程语言!

Perl

**
**

Perl 是高级编程语言,通用编程语言,并且是解释性的动态编程语言。由于 Perl 语言依赖于轻量级数组,因此 Perl 能够更有效地处理数据查询,而不需要程序员的过多处理。

为什么选择 Perl?

由于它具有通用脚本语言的多功能性,因此作为动态类型化的脚本语言它与 Python 有很多共同点。Perl 在诸如生物信息学,金融和统计分析等定量领域中得到了应用。

随着 Perl 5 的发布,处理大型数据集的能力比以前的版本要好得多。它正在用 Perl 6 实现“大数据精简版”。波音,西门子以及更多的财富 500 强企业都已经准备好在数据科学领域积极尝试 Perl。

Perl 通过协调大规模的数据插入和查询,以简单,可维护的架构映射或减少 TB 级的数据。Perl 6 的计划是提供一种模块化,可插入的体系结构,并具有针对大数据管理的灵活性和定制性。

为什么不选择 Perl?

Perl 并不是一种仅靠学习就可以使您成为高效的数据科学家的语言。它的速度不够快,语法也不友好。由于它是一种相对不受欢迎的语言,因此社区对数据科学的支持较少。值得一提的是,“ Perl 开发人员”社区正在变得越来越多。总体而言,目前并没有将 Perl 开发为数据科学语言的动力。

学数据科学,为何不尝试这 9 个编程语言!

Haskell

Haskell 是一种具有类型推断功能的通用静态类型纯函数式编程语言。

为什么选择 Haskell?

Haskell 具有强大的财务代码基础,可以轻松与 Excel 交互进行计算。这对编码数学概念很有用。一般来说,Haskell 擅长抽象,因此,与其他任何数学或软件工具一样,数据科学也可以从 Haskell 的连贯抽象中受益。

Haskell 也可以使用 HaskellR 直接对 R 中的值进行运算。

Haskell 拥有 DataHaskell,DataHaskell 是一种利用 Haskell 编程语言来进行可靠且可复制的数据科学和机器学习开发的开源资源。Haskell 的数据科学社区肯定会随着 DataHaskell 的发展而发展。

Target 的首席 AI 科学家说:“ Haskell 具有表现力,更快,更安全。Haskell 传统上不用于数据科学,因此库的选择受到限制。Haskell 与数学有着密切的关系,最终它的类型系统和数学特性对特定领域的业务代码的帮助会比其他任何东西都强大。”

为什么不选择 Haskell?

Haskell 具有作为数据科学语言的应用程序,但是,Haskell 的数据科学知识还没有 Python 或 R 丰富。Haskell 在数据科学功能方面并不强大。学习曲线本质上是困难且耗时的。

原文 https://towardsdatascience.com/top-9-languages-for-data-science-in-2020-824239f930c

本文为 CSDN 翻译,转载请注明来源出处。

    **更多精彩推荐**

☞TIOBE 6 月编程语言排行榜:C 与 Java 进一步拉开差距、Rust 跃进 TOP 20

[☞20 位行业专家共话选型经验,CSDN「选型智囊团高端研讨会」圆满落幕!](http://mp.weixin.qq.com/s?__biz=MjM5MjAwODM4MA==&mid=2650751363&idx=1&sn=998e2c17e9dc56c15ec3227c23c857cd&chksm=bea7305089d0b946b0d8e38013f95ec14a32f573f28838c35f8efa4e7a269865a46e5d7fc303&scene=21#wechat_redirect)

[☞](http://mp.weixin.qq.com/s?__biz=MjM5MjAwODM4MA==&mid=2650750309&idx=2&sn=e6772d93425a7a23a9d53c793274b9bd&chksm=bea74cb689d0c5a0a5958c2f20aaa0fdf3616a3089b6e61082e47f6639ed593951c7d39e5698&scene=21#wechat_redirect)[马云曾卖鲜花,柳传志卖冰箱!摆摊吧,程序员!](http://mp.weixin.qq.com/s?__biz=MzA5MzY4NTQwMA==&mid=2651019178&idx=1&sn=c830d2be6ba544d95d86ce6c80edb4ab&chksm=8bade45dbcda6d4b39ce944e210f9e3b9fcaa84cf6ebdd39889b9586db152d541aed789819b0&scene=21#wechat_redirect)

☞[韩版马化腾:在大财阀围堵下仍白手起家的凤凰男,抢滩加密交易平台、公链赛道](http://mp.weixin.qq.com/s?__biz=MzU2MTE1NDk2Mg==&mid=2247501790&idx=1&sn=aea5cbdc0c0aaedb73e4ff00e6743639&chksm=fc7f9923cb081035da6866006df3a9733192986a08ccbfca039d420ca559727ca5515d1177ac&scene=21#wechat_redirect)

☞[一个神秘 URL 酿大祸,差点让我背锅!](http://mp.weixin.qq.com/s?__biz=MzA3MjY1MTQwNQ==&mid=2649837109&idx=1&sn=3473f012e4e1beeffc253821dde1915b&chksm=871ee9d7b06960c14f1d100a53e93bd03a7ae2aa87cbb8c22d4554189717911d2be268ade087&scene=21#wechat_redirect)

☞[Uber 前无人驾驶工程师告诉你,国内无人驾驶之路还要走多久?](http://mp.weixin.qq.com/s?__biz=MzI0ODcxODk5OA==&mid=2247517193&idx=1&sn=076ebccc734132631eeda66f7aa4ce5a&chksm=e99eb7f0dee93ee6e66da60d51dc0c04d45b52729a524f12352f54b4e474f71578de52deb6a2&scene=21#wechat_redirect)

学数据科学,为何不尝试这 9 个编程语言!你点的每个“在看”,我都认真当成了喜欢



```

来源链接:mp.weixin.qq.com