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

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

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的等效库(插入符号)相比, 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中的所有功能.如果您对他们提供的支持感兴趣,那么购买产品许可证才有意义.