大数据分析 - 数据分析工具



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

R编程语言

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

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

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

Python 用于数据分析

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

R 中的大多数功能也可以在 Python 中完成,但我们发现 R 更易于使用。如果您正在处理大型数据集,通常 Python 比 R 更好。Python 可以非常有效地逐行清理和处理数据。这在 R 中是可能的,但对于脚本任务来说,它不像 Python 那样高效。

对于机器学习,**scikit-learn** 是一个不错的环境,它提供了大量可以轻松处理中等规模数据集的算法。与 R 的等效库(caret)相比,**scikit-learn** 具有更简洁、更一致的 API。

Julia

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、Octave

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

广告