大数据分析 – 数据分析工具

大数据分析 – 数据分析工具


有多种工具可以让数据科学家有效地分析数据。通常数据分析的工程方面侧重于数据库,数据科学家侧重于可以实现数据产品的工具。以下部分讨论了不同工具的优势,重点是数据科学家在实践中最常使用的统计包。

R 编程语言

R 是一种开源编程语言,专注于统计分析。在统计能力上与SAS、SPSS等商业工具竞争。它被认为是其他编程语言(如 C、C++ 或 Fortran)的接口。

R 的另一个优点是有大量可用的开源库。在 CRAN 中可以免费下载 6000 多个包,在Github 中提供各种各样的 R 包。

在性能方面,R 对于密集型操作很慢,因为有大量可用的库,代码的慢部分是用编译语言编写的。但是,如果您打算执行需要编写深度 for 循环的操作,那么 R 将不是您的最佳选择。出于数据分析的目的,有一些不错的库,例如data.table、glmnet、ranger、xgboost、ggplot2、caret,它们允许使用 R 作为更快的编程语言的接口。

用于数据分析的 Python

Python 是一种通用编程语言,它包含大量专门用于数据分析的库,例如pandas、scikit-learn、theano、numpyscipy

R 中可用的大部分内容也可以在 Python 中完成,但我们发现 R 更易于使用。如果您正在处理大型数据集,通常 Python 是比 R 更好的选择。Python 可以非常有效地用于逐行清理和处理数据。这在 R 中是可能的,但它在脚本任务方面不如 Python 高效。

对于机器学习,scikit-learn是一个很好的环境,它提供了大量的算法,可以毫无问题地处理中等规模的数据集。与 R 的等效库 (caret) 相比,scikit-learn具有更清晰、更一致的 API。

朱莉娅

Julia 是一种用于技术计算的高级、高性能动态编程语言。它的语法与 R 或 Python 非常相似,因此如果您已经在使用 R 或 Python,那么在 Julia 中编写相同的代码应该非常简单。该语言非常新,并且在过去几年中显着增长,因此目前绝对是一种选择。

我们会推荐 Julia 用于计算密集型算法的原型设计,例如神经网络。它是一个很好的研究工具。在生产中实现模型方面,Python 可能有更好的选择。然而,这已经不再是一个问题,因为有 Web 服务在 R、Python 和 Julia 中进行模型实现的工程。

SAS

SAS 是一种仍在用于商业智能的商业语言。它具有允许用户编写各种应用程序的基本语言。它包含相当多的商业产品,使非专家用户无需编程即可使用神经网络库等复杂工具。

除了商业工具的明显缺点之外,SAS 不能很好地扩展到大型数据集。即使是中等规模的数据集也会出现 SAS 问题并导致服务器崩溃。只有当您使用小型数据集并且用户不是专家数据科学家时,才推荐使用 SAS。对于高级用户,R 和 Python 提供了更高效的环境。

SPSS

SPSS,目前是IBM 用于统计分析的产品。它主要用于分析调查数据,对于无法编程的用户来说,它是一个不错的选择。它可能和 SAS 一样简单易用,但在实现模型方面,它更简单,因为它提供了一个 SQL 代码来为模型评分。此代码通常效率不高,但这是一个开始,而 SAS 销售的产品分别为每个数据库的模型评分。对于小数据和缺乏经验的团队,SPSS 是与 SAS 一样好的选择。

然而,该软件相当有限,经验丰富的用户使用 R 或 Python 将提高几个数量级的工作效率。

Matlab,八度

还有其他可用的工具,例如 Matlab 或其开源版本 (Octave)。这些工具主要用于研究。就功能而言,R 或 Python 可以完成 Matlab 或 Octave 中可用的所有功能。如果您对他们提供的支持感兴趣,那么购买该产品的许可证才有意义。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁