购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.3
数据分析工具软件

严格来讲,任何做数据处理的软件都可以被称为数据分析工具软件,例如,Excel可以做很多统计工作,Tableau等BI软件支持不同维度的数据探索。本节讨论的数据分析工具软件指的是可以进行统计分析或机器学习的软件。

不同工具软件侧重点不同,适合的场景也不同。数据分析工具选择,需要综合考虑各种应用场景,比如,使用者的技能要求、算法包(包括处理算法、可视化和报告输出等)的丰富程度、运行环境(例如是否能在单机上运行)、开发调试的便捷性(包括软件本身和社区内容)、处理性能(例如可以处理的数据集大小)等。基于这样的差异,不同类型组织使用的数据分析工具也不同。Rexer Analytics在2017年对在企业、咨询、学术、政府与公共机构等4个领域做了调查 [7] ,结果如图1-10所示,在所有领域,开源软件R和Python的使用频度都很高,在企业和咨询行业,SQL和Tableau等工具也是常用的软件。在学术界,MATLAB作为工程分析软件,使用频度也非常高。Forrester Research在2017年调研 [8] 指出IBM SPSS、SAS、KNIME、RapidMiner是行业分析产品的领军者。

图1-10 Rexer Analytics在2017年对数据分析软件使用的调研结果

下面按照开发和运行方式,从脚本语言软件、图形化桌面软件、云端分析软件三个类别介绍一下常见的数据分析工具软件。

1.3.1 脚本语言软件

典型脚本语言软件包括R、Python、MATLAB等,依靠编程脚本、交互式开发和大量工具包支撑分析建模。

R是一套完整的数据处理、计算和制图软件系统。R语言有着完整数据读取、预处理、统计分析、机器学习、制图/报告等功能的编程语言,R语言的优势在于统计分析,有1万多个官方工具包,对统计分析、机器学习算法和周边效率工具的支持非常完善。R语言的核心数据类型是数据框(Data Frame),同时也支持矩阵或向量运算,数据框类似于关系数据查询组件中的recordSet,是由有相同属性列构成的记录集,不同列的类型可以不同。数据框的概念也逐步被Python(2008年发布第1版pandas包)、MATLAB等软件采纳。为提高计算能力,R语言也提供了C、C++、Fortran等语言的开发接口。RStudio作为R语言最常用的IDE(集成开发环境),提供了很多便捷性的交互式开发调试功能,也支持Python、C/C++、HTML、Markdown等语言的开发。

MATLAB是著名的科学计算软件包,对矩阵运算、数值分析、图形显示和工程分析算法(如控制系统设计、信号处理)支持非常完备,动力学仿真包Simulink不仅仅支持连续动力学系统的仿真,也支持离散事件系统的仿真,除了数值仿真,也支持半物理仿真(通过PLC、通信协议接口)。在机器学习方面,MATLAB从2018年开始提供了Statistics and Machine Learning Toolbox。

Python是一种跨平台的高级编程语言,可以应用在多个领域,尤其是深度学习领域。Python拥有numPy、sciPy、matplotlib等科学计算包,也有scikit-learn、pandas等机器学习算法包。Python常用的IDE包括Spyder、pyCharm,也可以使用Vscode、Eclipse通用环境的Python插件。在交互式分析上,Jupyter notebook或Jupyter lab可以将分析过程与文档工作同步进行。

由于Python底层是使用C语言写的,很多标准库和第三方库也是用C语言写的,因此相比R语言和MATLAB来说、Python的速度要更快,可移植性更强。但在统计算法和机器学习算法方面,R语言更丰富一些。需要注意,不要不加前提地对比运行速度,MATLAB、R、Python语言背后的矩阵运算都是基于BLAS、LAPACK等线性运算包(基于Fortran或C语言实现的,不同实现版本略有不同),如果采用内置的矩阵运算,MATLAB、R、Python语言之间的差别应该是很小的。因此,编程时应该尽量遵循一个软件的前提假设与推荐习惯,例如,在MATLAB中尽量采用矩阵或向量运算,避免用标量循环。在R中,尽量用内置的数据框操作函数,避免用循环。

1.3.2 图形化桌面软件

图形化桌面软件主要指的是拖拽式建模分析环境,典型软件见表1-3。不包括SPSS Statistics、SAS、STATA、Minitab、Statistica等基于菜单或脚本语言的工具软件。

表1-3 图形化桌面软件特点对比

(续)

SPSS Modeler的核心思想是希望能够以简便的方式帮助用户进行数据挖掘。将数据加载、转换、统计、建模、应用等功能以节点连接的形式呈现,一个数据分析模型就是不同节点链接而成的数据流,典型的操作界面如图1-11所示。

图1-11 SPSS Modeler主要界面

a)建模画布 b)数据查看 c)结果查看 d)建模节点

Rapid Miner、KMINE、Orange等软件的操作界面与SPSS Modeler类似,如图1-12所示。

图1-12 其他软件的图形化界面

a)Rapid Miner b)KMINE c)Orange

1.3.3 云端分析软件

云平台上也提供了很多分析软件,典型软件见表1-4。

表1-4 云端分析软件特点与对比 HgLACJudUQ54sKFCnXykCh/o3YX3tdm//blVn5HSsk3/GPU6n7jAQ/LZzr5KvcP0

点击中间区域
呼出菜单
上一章
目录
下一章
×