备忘--简单比较SPSS、RapidMiner、KNIME以及Kettle四款数据分析工具
SPSS、RapidMiner、KNIME以及Kettle四款工具都可以用来进行数据分析,只是彼此有各自的侧重点和有劣势。它们都可以逐步的定义数据分析过程,也同样都可以对数据进行ETL处理。笔者从自己关心的角度简单对比以上四款数据分析工具。
SPSS不用多说,一款成功的商业数据分析软件,涵盖了统计分析、数据挖掘分析等各种数据分析方法。界面简单易用,分析过程定义时非常直观方便。因为,没有源码,无从知道其过程的调度机制。
RapidMiner一款出色的开源数据分析工具。有非常丰富的数据分析算法。过程定义界面也简单易用,帮助文档也很全面。过程定义时的每一步操作都有端口的概念,不同的端口可以接入和输出不同意义的数据,但数据的结构是一样的,这意味着可以将任意两个端口进行连接,只是有时无法得到正确的结论。粗看了下RapidMiner的源码,发现其整个过程是单线程调用的。这样的调用方式,在处理较大数据集时可能会有一定的影响。其过程定义文件是用xml语言进行描述的,格式很工整,体现了前期良好的设计,唯一不足的是,将调试用的断点也设计进了过程定义文件当中。
KNIME也是一款出色的开源数据分析工具,但其使用起来不是很好上手。其每一步操作与RapidMiner一样,也带有端口的概念。但是其端口间的连接关系有严格的约定。就是一个操作的输出端口只能连其它固定几种操作的输入端口,否则你是无法将这两个操作建立前后执行顺序的。从一定意义上讲,这样的约束可以帮助人们减少定义过程中的错误。单就程序实现讲,其复杂度也是提升了的。但对于笔者这样的使用者来说,怎么都创建不了一个分析过程,(主要是用的不熟,总违反端口连接约束)顿时失去大半兴趣,没有对其进行再进一步的研究了。
Kettle最早的定位是一个ETL工具,它有非常丰富的数据处理操作,后面的版本中也加入了部分数据分析功能。其过程定义界面也非常简单直观,与SPSS一样,操作都没有端口的概念。操作间的关系是建立在操作与操作之上的。但其设计中,正因为没有端口概念的出现,当其进行错误信息的处理流程时,我们看其过程定义生成的xml文件会发现,错误流定义在XML文件中加入的很不规整,是以补丁的方式加入的,影响了系统整体设计的完整性与美观度。不过,其可以对错误流进行处理的概念是这几款产品中独有的,还是要特别表扬一下。另外,通过Kettle的源代码我们可以知道,其调度是多线程并发进行的。即读数据操作每读到一定的数据就传给后面的处理操作,然后继续读数据。在数据很大的情况下,有可能是读操作还在继续读数据,而早期读出的数据在处理完后,都在向外写出数据了。Kettle的调用机制更利于对较大数据的分析处理,占用的内存相对会较少,多线程并发的处理速度相对也会比较高。
以上四款工具都是单机版工具,都不太适用于对海量数据的分析处理。
备忘--简单比较SPSS、RapidMiner、KNIME以及Kettle四款数据分析工具的更多相关文章
- Colletion View 简单的备忘
UIColletionView 这篇只是做UIColletionView的常用属性.代理方法和数据源方法的备忘,之后做一些自定义布局,增加删除动画等. UIColletionViewFlowLayou ...
- 个人 WPF+EF(DBFirst) 简单应用开发习惯及EF学习测试(备忘) -- 2
接上篇:个人 WPF+EF(DBFirst) 简单应用开发习惯及EF学习测试(备忘) -- 1 Step1 在主程序中设置连接数据库 从Model类库的 App.Config 把数据库字符串拷贝出来, ...
- Spring boot 注解简单备忘
Spring boot 注解简单备忘 1.定义注解 package com.space.aspect.anno;import java.lang.annotation.*; /** * 定义系统日志注 ...
- 简单备忘一下Linux下的wget和curl如何使用http proxy
简单备忘一下Linux下的wget和curl如何使用http proxywget -e "http_proxy=porxyhost:port" www.baidu.comcurl ...
- ECMAScript 5(ES5)中bind方法简介备忘
一直以来对和this有关的东西模糊不清,譬如call.apply等等.这次看到一个和bind有关的笔试题,故记此文以备忘. bind和call以及apply一样,都是可以改变上下文的this指向的.不 ...
- 『备忘』HttpWebRequest 在 POST 提交时, 标头(Headers)丢失原因
近来研究 HttpWebRequest —— 辅助类完成时,POST JSON数据 总会 丢失标头(Headers). HttpWebRequest POST JSON数据,分如下几步: > 将 ...
- 11. 星际争霸之php设计模式--备忘模式
题记==============================================================================本php设计模式专辑来源于博客(jymo ...
- Bonobo Git Server (Simple git server for Windows.) 测试备忘
Bonobo Git Server是一款Windows上的Git Server,它使用IIS即可,走的是Http协议,只要简单的安装就能使用,但是因为我的项目大小有1.35GB在 push 的时候一直 ...
- java开发微信公众平台备忘
简单记录下前段时间开发的电子书的 公众平台的一些备忘及开发心得经验等 eclipse的一些技巧: 1.ctrl+shift+o 自动添加必要import空间及移除无用import 项目备忘+说明 1. ...
随机推荐
- Leetcode 解题 Add Two Numbers Python
原题: You are given two linked lists representing two non-negative numbers. The digits are stored in r ...
- WF工作流与管理类应用系统工作流需求实现的一些误区
如今实现各种应用系统大家都知道工作流是一个非常重要的环节,不同的业务系统的工作流需求是需要找相应的工作流产品去实现的,因为不同工作流产品的架构细节也许会成为某类需求实现的瓶颈. WF ...
- [转]HTTP Error 400. The request hostname is invalid.
一般看到网站提示Bad Request(Invalid Hostname)错误我们都会说是iis,apache出问题了,iis出现这种问题解决办法大概是:IIS> 默认网站> > 属 ...
- OneAlert 入门(四)——事件分派和通知必达
OneAlert 是国内首个 SaaS 模式的云告警平台,集成国内外主流监控/支撑系统,实现一个平台上集中处理所有 IT 事件,提升 IT 可靠性.有了 OneAlert,你可以更快更合理地为事件划分 ...
- 用PYTHON + PYWIN32 + WMI获取WINDOWS系统基本信息
网上原码,去了DECODE编码的问题. PyScripter这个PYTHON的IDE工具在WIN下表现不错哟. 感觉比SPYDER,ERIC,SUBLEME TEXT3之类的好用呀.. #!/usr/ ...
- SPRING IN ACTION 第4版笔记-第二章WIRING BEANS-008-在Java配置文件中引入xml配置文件@Import、@ImportResource
1. package soundsystem; import org.springframework.beans.factory.annotation.Autowired; public class ...
- 运行所选代码生成器时出错:无效指针(异常来自HRESULT:0x80004003(E_POINTER))
这个是在使用了VS2015 update1学MVC的时候,在controllers的方法添加view时报的一个错误,中文基本搜不到解决方法,然后无奈转到成英文,还好G家的搜索提示补全能力拯救了我的渣英 ...
- oracle 10g WMSYS.WM_CONCAT 函數的用法
select t.rank, t.Name from t_menu_item t; 10 CLARK 10 KING 10 MILLER 20 ADAMS 20 FORD 20 JONES 20 SC ...
- sudo easy_install MySQL-pythonubuntu常用命令
修改密码 sudo passwd root 安装openssh-server sudo apt-get install openssh-server 安装easy_install sudo wget ...
- jQuery 分步引导 插件
转自:http://blog.libnav.com/js/57.html 很多时候一个网站或者一个Web应用出品,为了让你的用户知道你的站点(或应用)有些什么?如何操作?为了让你的用户有更好的体验.往 ...