大数据分析 - 工具

  • 简述

    有多种工具可以让数据科学家有效地分析数据。通常数据分析的工程方面侧重于数据库,数据科学家侧重于可以实现数据产品的工具。以下部分讨论了不同工具的优势,重点是数据科学家在实践中最常使用的统计包。
  • 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 的等效库(插入符号)相比,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 中可用的所有功能。如果您对他们提供的支持感兴趣,那么购买该产品的许可证才有意义。