Big Data Analytics 简明教程
Big Data Analytics - Data Analysis Tools
各种工具可供数据科学家有效地分析数据。通常,数据分析的工程方面侧重于数据库,数据科学家重点关注可以实现数据产品的工具。下一部分讨论了不同工具的优点,重点是数据科学家最常在实践中使用的统计软件包。
R Programming Language
R 是一种专注于统计分析的开源编程语言。它在统计能力方面与 SAS、SPSS 等商业工具具有竞争力。它被认为是与 C、C++ 或 Fortran 等其他编程语言的接口。
R 的另一个优点是大量可用的开源库。在 CRAN 中,有 6000 多个可免费下载的软件包,在 Github 中提供各种 R 软件包。
在性能方面,对于密集操作,R 很慢,鉴于大量可用的库,代码的慢速部分是用编译语言编写的。但如果你打算执行需要编写深度循环的操作,那么 R 不会是你最好的选择。对于数据分析目的,有一些不错的库,如 data.table, glmnet, ranger, xgboost, ggplot2, caret ,它允许使用 R 作为更快速编程语言的接口。
Python for data analysis
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 提供了一个更高效的环境。