SPSS、RapidMiner、KNIME以及Kettle四款工具都可以用来进行数据分析,只是彼此有各自的侧重点和有劣势。它们都可以逐步的定义数据分析过程,也同样都可以对数据进行ETL处理。笔者从自己关心的角度简单对比以上四款数据分析工具。

SPSS不用多说,一款成功的商业数据分析软件,涵盖了统计分析、数据挖掘分析等各种数据分析方法。界面简单易用,分析过程定义时非常直观方便。因为,没有源码,无从知道其过程的调度机制。

RapidMiner一款出色的开源数据分析工具。有非常丰富的数据分析算法。过程定义界面也简单易用,帮助文档也很全面。过程定义时的每一步操作都有端口的概念,不同的端口可以接入和输出不同意义的数据,但数据的结构是一样的,这意味着可以将任意两个端口进行连接,只是有时无法得到正确的结论。粗看了下RapidMiner的源码,发现其整个过程是单线程调用的。这样的调用方式,在处理较大数据集时可能会有一定的影响。其过程定义文件是用xml语言进行描述的,格式很工整,体现了前期良好的设计,唯一不足的是,将调试用的断点也设计进了过程定义文件当中。

KNIME也是一款出色的开源数据分析工具,但其使用起来不是很好上手。其每一步操作与RapidMiner一样,也带有端口的概念。但是其端口间的连接关系有严格的约定。就是一个操作的输出端口只能连其它固定几种操作的输入端口,否则你是无法将这两个操作建立前后执行顺序的。从一定意义上讲,这样的约束可以帮助人们减少定义过程中的错误。单就程序实现讲,其复杂度也是提升了的。但对于笔者这样的使用者来说,怎么都创建不了一个分析过程,(主要是用的不熟,总违反端口连接约束)顿时失去大半兴趣,没有对其进行再进一步的研究了。

Kettle最早的定位是一个ETL工具,它有非常丰富的数据处理操作,后面的版本中也加入了部分数据分析功能。其过程定义界面也非常简单直观,与SPSS一样,操作都没有端口的概念。操作间的关系是建立在操作与操作之上的。但其设计中,正因为没有端口概念的出现,当其进行错误信息的处理流程时,我们看其过程定义生成的xml文件会发现,错误流定义在XML文件中加入的很不规整,是以补丁的方式加入的,影响了系统整体设计的完整性与美观度。不过,其可以对错误流进行处理的概念是这几款产品中独有的,还是要特别表扬一下。另外,通过Kettle的源代码我们可以知道,其调度是多线程并发进行的。即读数据操作每读到一定的数据就传给后面的处理操作,然后继续读数据。在数据很大的情况下,有可能是读操作还在继续读数据,而早期读出的数据在处理完后,都在向外写出数据了。Kettle的调用机制更利于对较大数据的分析处理,占用的内存相对会较少,多线程并发的处理速度相对也会比较高。

以上四款工具都是单机版工具,都不太适用于对海量数据的分析处理。

备忘--简单比较SPSS、RapidMiner、KNIME以及Kettle四款数据分析工具的更多相关文章

  1. Colletion View 简单的备忘

    UIColletionView 这篇只是做UIColletionView的常用属性.代理方法和数据源方法的备忘,之后做一些自定义布局,增加删除动画等. UIColletionViewFlowLayou ...

  2. 个人 WPF+EF(DBFirst) 简单应用开发习惯及EF学习测试(备忘) -- 2

    接上篇:个人 WPF+EF(DBFirst) 简单应用开发习惯及EF学习测试(备忘) -- 1 Step1 在主程序中设置连接数据库 从Model类库的 App.Config 把数据库字符串拷贝出来, ...

  3. Spring boot 注解简单备忘

    Spring boot 注解简单备忘 1.定义注解 package com.space.aspect.anno;import java.lang.annotation.*; /** * 定义系统日志注 ...

  4. 简单备忘一下Linux下的wget和curl如何使用http proxy

    简单备忘一下Linux下的wget和curl如何使用http proxywget -e "http_proxy=porxyhost:port" www.baidu.comcurl ...

  5. ECMAScript 5(ES5)中bind方法简介备忘

    一直以来对和this有关的东西模糊不清,譬如call.apply等等.这次看到一个和bind有关的笔试题,故记此文以备忘. bind和call以及apply一样,都是可以改变上下文的this指向的.不 ...

  6. 『备忘』HttpWebRequest 在 POST 提交时, 标头(Headers)丢失原因

    近来研究 HttpWebRequest —— 辅助类完成时,POST JSON数据 总会 丢失标头(Headers). HttpWebRequest POST JSON数据,分如下几步: > 将 ...

  7. 11. 星际争霸之php设计模式--备忘模式

    题记==============================================================================本php设计模式专辑来源于博客(jymo ...

  8. Bonobo Git Server (Simple git server for Windows.) 测试备忘

    Bonobo Git Server是一款Windows上的Git Server,它使用IIS即可,走的是Http协议,只要简单的安装就能使用,但是因为我的项目大小有1.35GB在 push 的时候一直 ...

  9. java开发微信公众平台备忘

    简单记录下前段时间开发的电子书的 公众平台的一些备忘及开发心得经验等 eclipse的一些技巧: 1.ctrl+shift+o 自动添加必要import空间及移除无用import 项目备忘+说明 1. ...

随机推荐

  1. ADS的默认连接分析及编译器产生符号解惑

    ADS的默认连接顺序是怎样的呢?例如下边从2440init.s中摘出的编译器符号又该怎样理解呢? BaseOfROM    DCD    |Image##RO##Base| TopOfROM      ...

  2. 1500: [NOI2005]维修数列

    Description Input 输入的第1 行包含两个数N 和M(M ≤20 000),N 表示初始时数列中数的个数,M表示要进行的操作数目.第2行包含N个数字,描述初始时的数列.以下M行,每行一 ...

  3. aircrack-ng on OSX 从零开始之探测

    继续上一篇内容,在安装好aircrack-ng之后,就要学习如何对目标进行探测了.找了篇教程跟着学习一下吧.其实网上关于使用aircrack-ng的教程还是很多的,我也参考了很多,不过最后还是以官方的 ...

  4. QLGame 2D Engine编写环境搭建

    QLGame 2D Engine编写 (win7环境搭建) 广州麒麟网络工作室,计划制作一款2d game engine,基于opengl(es)平台,暂时支持android,以后考虑支持linux, ...

  5. ECMall的MySQL数据调用的简单方法

    很多ecmall开发者会问,怎么使用Ecmall的mysql类库进行数据调用.从原理上来讲Ecmall的数据调用是以数据模块+模块类库的方式进行mysql数据调用的,所有数据模块都存储在include ...

  6. 任正非:华为三十年大限快到了 想不死就得新生(建立战略预备队)cool

    华为心声社区官方微信今日发布了任正非8月15日在华为公司内部做的关于战略预备队建设汇报的讲话.讲话内容中提到,华为公司需要组织.结构.人才等所有一切都变化,通过变化使新的东西成长起来.   任正非表示 ...

  7. 在ListView中使用多个布局

    要想在一个ListView中使用多个布局文件,比如一个信息List包含了一个信息标题和每个信息对应的时间. 关键的步骤是实现Adapter类的getItemViewType 和getViewTypeC ...

  8. wpf 创建动画三种方式

    动画类型 : 故事版,CompositionTarget,DispachTime 那么到此,三种动态创建动画的方法都已经详细介绍过了,大家可能会有种感觉,比较钟情于第一种WPF/Silverlight ...

  9. java 二叉搜索树

    java二叉查找树实现: 二叉查找树,上图:比根节点小者在其左边,比根节点大者在其右边. 抽象数据结构,上代码: /** * 二叉查找树数据结构(非线程安全): * 范型类型须实现Comparable ...

  10. u-boot使用

    下载与烧写 使用U-boot将映像文件烧写到板上的Flash,一般步骤是: (1)通过网络.串口.U盘.SD卡等方式将文件传输到SDRAM: (2)使用Nand Flash或Nor Flash相关的读 ...