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

📅  最后修改于: 2020-12-02 06:42:46             🧑  作者: Mango


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

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是用于技术计算的高级,高性能动态编程语言。它的语法与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中可用的所有功能。仅当您对产品提供的支持感兴趣时,才购买该产品的许可证。