备忘--简单比较SPSS、RapidMiner、KNIME以及Kettle四款数据分析工具
2013-08-02 16:31
435 查看
SPSS、RapidMiner、KNIME以及Kettle四款工具都可以用来进行数据分析,只是彼此有各自的侧重点和有劣势。它们都可以逐步的定义数据分析过程,也同样都可以对数据进行ETL处理。笔者从自己关心的角度简单对比以上四款数据分析工具。
SPSS不用多说,一款成功的商业数据分析软件,涵盖了统计分析、数据挖掘分析等各种数据分析方法。界面简单易用,分析过程定义时非常直观方便。因为,没有源码,无从知道其过程的调度机制。
RapidMiner一款出色的开源数据分析工具。有非常丰富的数据分析算法。过程定义界面也简单易用,帮助文档也很全面。过程定义时的每一步操作都有端口的概念,不同的端口可以接入和输出不同意义的数据,但数据的结构是一样的,这意味着可以将任意两个端口进行连接,只是有时无法得到正确的结论。粗看了下RapidMiner的源码,发现其整个过程是单线程调用的。这样的调用方式,在处理较大数据集时可能会有一定的影响。其过程定义文件是用xml语言进行描述的,格式很工整,体现了前期良好的设计,唯一不足的是,将调试用的断点也设计进了过程定义文件当中。
KNIME也是一款出色的开源数据分析工具,但其使用起来不是很好上手。其每一步操作与RapidMiner一样,也带有端口的概念。但是其端口间的连接关系有严格的约定。就是一个操作的输出端口只能连其它固定几种操作的输入端口,否则你是无法将这两个操作建立前后执行顺序的。从一定意义上讲,这样的约束可以帮助人们减少定义过程中的错误。单就程序实现讲,其复杂度也是提升了的。但对于笔者这样的使用者来说,怎么都创建不了一个分析过程,(主要是用的不熟,总违反端口连接约束)顿时失去大半兴趣,没有对其进行再进一步的研究了。
Kettle最早的定位是一个ETL工具,它有非常丰富的数据处理操作,后面的版本中也加入了部分数据分析功能。其过程定义界面也非常简单直观,与SPSS一样,操作都没有端口的概念。操作间的关系是建立在操作与操作之上的。但其设计中,正因为没有端口概念的出现,当其进行错误信息的处理流程时,我们看其过程定义生成的xml文件会发现,错误流定义在XML文件中加入的很不规整,是以补丁的方式加入的,影响了系统整体设计的完整性与美观度。不过,其可以对错误流进行处理的概念是这几款产品中独有的,还是要特别表扬一下。另外,通过Kettle的源代码我们可以知道,其调度是多线程并发进行的。即读数据操作每读到一定的数据就传给后面的处理操作,然后继续读数据。在数据很大的情况下,有可能是读操作还在继续读数据,而早期读出的数据在处理完后,都在向外写出数据了。Kettle的调用机制更利于对较大数据的分析处理,占用的内存相对会较少,多线程并发的处理速度相对也会比较高。
以上四款工具都是单机版工具,都不太适用于对海量数据的分析处理。
SPSS不用多说,一款成功的商业数据分析软件,涵盖了统计分析、数据挖掘分析等各种数据分析方法。界面简单易用,分析过程定义时非常直观方便。因为,没有源码,无从知道其过程的调度机制。
RapidMiner一款出色的开源数据分析工具。有非常丰富的数据分析算法。过程定义界面也简单易用,帮助文档也很全面。过程定义时的每一步操作都有端口的概念,不同的端口可以接入和输出不同意义的数据,但数据的结构是一样的,这意味着可以将任意两个端口进行连接,只是有时无法得到正确的结论。粗看了下RapidMiner的源码,发现其整个过程是单线程调用的。这样的调用方式,在处理较大数据集时可能会有一定的影响。其过程定义文件是用xml语言进行描述的,格式很工整,体现了前期良好的设计,唯一不足的是,将调试用的断点也设计进了过程定义文件当中。
KNIME也是一款出色的开源数据分析工具,但其使用起来不是很好上手。其每一步操作与RapidMiner一样,也带有端口的概念。但是其端口间的连接关系有严格的约定。就是一个操作的输出端口只能连其它固定几种操作的输入端口,否则你是无法将这两个操作建立前后执行顺序的。从一定意义上讲,这样的约束可以帮助人们减少定义过程中的错误。单就程序实现讲,其复杂度也是提升了的。但对于笔者这样的使用者来说,怎么都创建不了一个分析过程,(主要是用的不熟,总违反端口连接约束)顿时失去大半兴趣,没有对其进行再进一步的研究了。
Kettle最早的定位是一个ETL工具,它有非常丰富的数据处理操作,后面的版本中也加入了部分数据分析功能。其过程定义界面也非常简单直观,与SPSS一样,操作都没有端口的概念。操作间的关系是建立在操作与操作之上的。但其设计中,正因为没有端口概念的出现,当其进行错误信息的处理流程时,我们看其过程定义生成的xml文件会发现,错误流定义在XML文件中加入的很不规整,是以补丁的方式加入的,影响了系统整体设计的完整性与美观度。不过,其可以对错误流进行处理的概念是这几款产品中独有的,还是要特别表扬一下。另外,通过Kettle的源代码我们可以知道,其调度是多线程并发进行的。即读数据操作每读到一定的数据就传给后面的处理操作,然后继续读数据。在数据很大的情况下,有可能是读操作还在继续读数据,而早期读出的数据在处理完后,都在向外写出数据了。Kettle的调用机制更利于对较大数据的分析处理,占用的内存相对会较少,多线程并发的处理速度相对也会比较高。
以上四款工具都是单机版工具,都不太适用于对海量数据的分析处理。
相关文章推荐
- 备忘--简单比较SPSS、RapidMiner、KNIME以及Kettle四款数据分析工具
- 备忘--简单比较SPSS、RapidMiner、KNIME以及Kettle四款数据分析工具
- 简单比较SPSS、RapidMiner、KNIME以及Kettle四款数据分析工具
- 数据挖掘RapidMiner工具使用----聚类K-Means案例分析
- (转:Tonny Yang)jQuery备忘之(一):jQuery处理.Net后台返回的Xml格式与Json格式的数据的比较分析
- 数据挖掘工具R软件与Weka的比较分析
- 网络抓包以及进行简单数据分析
- 网络数据采集分析工具TcpDump的简介以及用法
- 数据挖掘工具R软件与Weka的比较分析
- 数据迁移工具kettle简单上手
- SPSS统计分析过程包括描述性统计、均值比较、一般线性模型、相关分析、回归分析、对数线性模型、聚类分析、数据简化、生存分析、时间序列分析、多重响应等几大类
- 几款数据分析工具比较
- ArrayList 与HashSet的比较,及应用反射读取properties配置文件中的数据进行实例化再调用,以及类加载器的使用;还有HashCode的分析,及导致内存泄露,内存溢出的原因之一
- SPSS统计分析过程包括描述性统计、均值比较、一般线性模型、相关分析、回归分析、对数线性模型、聚类分析、数据简化、生存分析、时间序列分析、多重响应等几大类
- jQuery备忘之(一):jQuery处理.Net后台返回的Xml格式与Json格式的数据的比较分析
- 数据挖掘工具R软件与Weka的比较分析
- Python数据分析(一):工具的简单使用
- 股票数据导出分析(一)---数据导入MySQL以及网页表格简单show出来
- 【备忘】最新大数据快速数据挖掘平台RapidMiner数据分析视频教程下载
- 数据挖掘工具R软件与Weka的比较分析