阅读更多

16顶
0踩

非技术

IDMer说道:本文只对几种流行的开源数据挖掘平台进行了检视,比如Weka和R等。如果您想找寻更多的开源数据挖掘软件,可以到KDnuggets和Open Directory上查看。为了评测这些软件,我们用了UCI Machine Learning Repository上的心脏病诊断数据集。

R

R (http://www.r-project.org) 是用于统计分析和图形化的计算机语言及分析工具,为了保证性能, 其核心计算模块是用C、C++和Fortran编写的。同时为了便于使用,它提供了一种脚本语言,即R语言。R语言和贝尔实验室开发的S语言类似。R支持 一系列分析技术,包括统计检验、预测建模、数据可视化等等。在CRAN(http://cran.r-project.org) 上可以找到众多开源的扩展包。
R软件的首选界面是命令行界面,通过编写脚本来调用分析功能。如果缺乏编程技能,也可使用图形界面,比如使用R Commander(http://socserv.mcmaster.ca/jfox/Misc/Rcmdr/)或Rattle(http://rattle.togaware.com)。

Tanagra

Tanagra (http://eric.univ-lyon2.fr/wricco/tanagra/) 是使用图形界面的数据挖掘软件,采用了类似Windows资源管理器中的树状结构来组织分析组件。Tanagra缺乏高级的可视化能力,但它的强项是统计 分析,提供了众多的有参和无参检验方法。同时它的特征选取方法也很多。

Weka

Weka (Waikato Environment for Knowledge Analysis, http://www.cs.waikato.ac.nz/ml/weka/) 可能是名气最大的开源机器学习和数据挖掘软件。高级用户可以通过Java编程和命令行来调用其分析组件。同时,Weka也为普通用户提供了图形化界面,称 为Weka KnowledgeFlow Environment和Weka Explorer。和R相比,Weka在统计分析方面较弱,但在机器学习方面要强得多。在Weka论坛 (http://weka.sourceforge.net/wiki/index.php/Related_Projects) 可以找到很多扩展包,比如文本挖掘、可视化、网格计算等等。很多其它开源数据挖掘软件也支持调用Weka的分析功能。



YALE
(IDMer:现在已经更名为RapidMiner)

YALE (Yet Another Learning Environment, http://rapid-i.com) 提供了图形化界面,采用了类似Windows资源管理器中的树状结构来组织分析组件,树上每个节点表示不同的运算符(operator)。YALE中提供 了大量的运算符,包括数据处理、变换、探索、建模、评估等各个环节。YALE是用Java开发的,基于Weka来构建,也就是说它可以调用Weka中的各 种分析组件。

KNIME

KNIME (Konstanz InformationMiner, http://www.knime.org)是基于Eclipse开发环境来精心开发的数据挖掘工具。无需安装,方便使用(IDMer:呵呵,大家喜欢的绿色版)。和YALE一样,KNIME也是用Java开发的,可以扩展使用Weka中的挖掘算法。和YALE不同点的是,KNIME采用的是类似数据流(data flow)的方式来建立分析挖掘流程(IDMer:这个我喜欢,和SAS EM或SPSS Clementine等商用数据挖掘软件的操作方式类似)。挖掘流程由一系列功能节点(node)组成,每个节点有输入/输出端口(port),用于接收数据或模型、导出结果。(IDMer:感觉KNIME比Weka的KnowledgeFlow更好用,连接节点时很方便,直接用鼠标拖拽连接端口即可。而Weka中则需要在节点上按鼠标右键,再选择后续节点,比较麻烦,刚开始使用时找了半天才知道怎么连)
KNIME中每个节点都带有交通信号灯,用于指示该节点的状态(未连接、未配置、缺乏输入数据时为红灯;准备执行为黄灯;执行完毕后为绿灯)。在KNIME中有个特色功能——HiLite,允许用户在节点结果中标记感兴趣的记录,并进一步展开后续探索。

Orange

Orange (http://www.ailab.si/orange)是类似KNIME和Weka KnowledgeFlow的数据挖掘工具,它的图形环境称为Orange画布(OrangeCanvas),用户可以在画布上放置分析控件 (widget),然后把控件连接起来即可组成挖掘流程。这里的控件和KNIME中的节点是类似的概念。每个控件执行特定的功能,但与KNIME中的节点 不同,KNIME节点的输入输出分为两种类型(模型和数据),而Orange的控件间可以传递多种不同的信号,比如learners, classifiers, evaluation results, distance matrices, dendrograms等等。Orange的控件不象KNIME的节点分得那么细,也就是说要完成同样的分析挖掘任务,在Orange里使用的控件数量可 以比KNIME中的节点数少一些。Orange的好处是使用更简单一些,但缺点是控制能力要比KNIME弱。
除了界面友好易于使用的优点,Orange的强项在于提供了大量可视化方法,可以对数据和模型进行多种图形化展示,并能智能搜索合适的可视化形式,支持对数据的交互式探索。
Orange的弱项在于传统统计分析能力不强,不支持统计检验,报表能力也有限。Orange的底层核心也是采用C++编写,同时允许用户使用Python脚本语言来进行扩展开发(参见http://www.scipy.org)。

 


GGobi

数据可视化是数据挖掘的重要组成部分, GGobi (http://www.ggobi.org)就是用于交互式可视化的开源软件,它使用brushing的方法。GGobi可以用作R软件的插件,或者通过Perl、Python等脚本语言来调用。

结论
----
以 上介绍的几款软件都是优秀的开源数据挖掘软件,各有所长,同时也各有缺点。读者可以结合自己的需求来进行选择,或者组合使用多个软件。对于普通用户可以选 用界面友好易于使用的软件,对于希望从事算法开发的用户则可以根据软件开发工具不同(Java、R、C++、Python等)来选择相应的软件。以上这几 款软件(除了GGobi)基本上都提供了我们期望的大部分功能。
(IDMer:我尝试了以上这几种 开源软件,Weka很有名但用起来并不方便,界面也简单了点;RapidMiner现在流行的势头在上升,但它的操作方式和商用软件差别较大,不支持分析 流程图的方式,当包含的运算符比较多的时候就不容易查看了;KNIME和Orange看起来都不错,Orange界面看上去很清爽,但我发现它不支持中 文。我的推荐是KNIME,同时安装Weka和R扩展包。)
(IDMer:我的点评纯属个人意见,欢迎大家批评交流。在我的实际工作中使用开源挖掘工具并不多,大部分时候都是在使用SAS Enterprise Miner。)

16
0
评论 共 6 条 请登录后发表评论
6 楼 binyue1014 2013-07-25 10:22
海量数据挖掘,还得用国产的K-Miner(http://www.shentongdata.com/?bid=3&eid=354)。MPP+SMP并行计算架构,是目前唯一的所有算法都实现了并行化数据挖掘软件;27个数据挖掘算法+13个统计分析算法;大部分算法执行速度都远快于SPSS等的相应算法。  
5 楼 bluky999 2011-08-30 20:59
R最擅长的还是统计等,所以还是让它赶自己最擅长的即可;
python嘛,可以赶很多事情,也没必要取你舍我,让每一种工具赶他们最擅长的即可。
4 楼 binyue1014 2011-03-18 18:16
开源的研究一下还行,性能和功能真的不敢恭维.如果商用,推荐国产数据挖掘软件GDM(Geni-Sage Data Mining Analysis System,博通数据挖掘分析系统).功能强大,性能卓越,设计创新,绝对的高性价比.一点也不必SAS,SPSS差.官网http://www.geni-sage.com
3 楼 wangxinpier 2008-12-27 20:15
对这方面比较感兴趣
2 楼 Jackphone 2008-12-27 19:51
fxsjy 写道

哈,终于有人开始关注R了。其实,现在R已经代替我大部分以前用python做的工作了。for example,1. 抓网页:html <- readLines(url("http://www.javaeye.com/"))2. 聚类:kmeans(m)3. 甚至还能分析数据库library(RMySQL)

真牛!
1 楼 fxsjy 2008-12-27 15:57
哈,终于有人开始关注R了。

其实,现在R已经代替我大部分以前用python做的工作了。

for example,

1. 抓网页:
html <- readLines(url("http://www.javaeye.com/"))

2. 聚类:
kmeans(m)

3. 甚至还能分析数据库
library(RMySQL)

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • VC写的拨号上网实例

    用VC写的拨号上网实例,输入用户名、密码、电话号码,就可以拨号。

  • 计算机网络拨号,个人拨号上网宽带连接设置图文方法

    很多朋友买了电脑之后,不知道怎么上网,其实要实现上网需要满足3个条件。首先电脑必须安装有正确的网卡,并且驱动安装正常;另外还需要运营商的网线已正确接于电脑网卡接口中;最后最后还有猫(Modem)设备以及网络运行商提供给你的用于PPPOE拨号的帐号密码。以上基本条件具备了之后接下来就是简单的电脑网络宽带配置了,方法如下:下面笔者以最基本的windows xp系统下为大家介绍个人拨号上网宽带设置方法,...

  • VC实现 拨号连接及动态IP地址获取

    在Win32 API 函数中有一组用于实现远程连接服务RAS 的函数,利用这些函数通过编程可以实现建立和Internet 的拨号连接,并可获得Internet 分配给主机的动态IP 地址。 一、建立拨号连接API   建立拨号连接是利用函数RasDial() 实现的,该函数调用后立即返回,若成功返回0 值,否则返回非0 值。在拨号连接过程中,回调函数接收连接的状态信息及发生的错误代码。

  • 拨号上网和宽带上网的区别分析

      不少用户在使用电脑连接网络时,会遇到拨号上网与宽带上网。这两者有什么区别呢?下面我们就来一起看看详细的内容。  拨号上网和宽带上网的区别  研究两者的本质,实际并没有太多的区别,它们都是接入网络(Access Network),先认证用户合法,分配IP地址等上网必备的参数,将用户电脑接入互联网Internet。运营商在将用户接入网络的同时,启动用户流量统计/用户在线时长统计,以生成用户账单,用户掏钱,毕竟天下没有免费的午餐。  但由于采用的传输介质(physical media)大不同,有模拟电话线、数

  • 你还记得"远古时代"的拨号上网么?快来了解拨号上网与宽带上网的区别

    前言 记得特别小的时候,差不多04年,家里配了第一台大屁股显示器电脑,就像这个 那时还小,每天让父母打开看个老式DVD的奥特曼就乐的不行了,过了一阵开始流行一些网页单机小游戏(记得有个传奇,当时太小了没玩过,应该是跟现在古仔天天被好兄弟砍的贪玩蓝月差不多),于是缠着父母终于连了网。 当时就是用的拨号上网的方式,那网速给我卡的啊,几十k的速度,现在想起来还是心有余悸。因为拨号上网,一上网就不能打电...

  • win10计算机怎么拨号上网,宽带拨号,教您win10系统宽带拨号上网的教程

    很多用户反映升级了win10系统后,电脑不知道在哪里进行宽带拨号设置,这就尴尬了,那么升级到win10系统后是如何宽带拨号上网的呢?下面我们就一起来看一下操作方法吧。有不少朋友开通了宽带上网后,拿到了宽带的账号密码却不知道如何使用宽带拨号设置,其实很好操作,小编今天给大家带来了宽带拨号的图文教程,供大家参考!以下是针对win10系统宽带如何拨号上网的教程:拨号电脑图解1第一步:在我们电脑的任务栏的...

  • 动态IP(DHCP)、静态IP、拨号(PPPOE)三种上网设置区别

    动态IP(DHCP)、静态IP、拨号(PPPOE)三种上网设置区别。

  • 【windows10】使用宽带拨号即PPPoE拨号上网

    【windows10】使用宽带拨号即PPPoE拨号上网1、背景2、宽带拨号 1、背景 在接入互联网实现上网时,我目前使用的是PPPoE拨号上网。 PPPoE(Point-to-Point Protocol Over Ethernet),以太网上的点对点协议,是将点对点协议(PPP)封装在以太网(Ethernet)框架中的一种网络隧道协议。由于协议中集成PPP协议,所以实现出传统以太网不能提供的身份验证、加密以及压缩等功能,也可用于缆线调制解调器(cable modem)和数字用户线路(DSL)等以以太网协议

  • 实现拨号上网

    实例 11-1 实现拨号上网 本例知识要点:1.  远程访问服务(RAS)简介远程访问服务(Remote  Access  Service 简称RAS)是Windows 操作系统提供的系统服务之一,通过电话线可以使单独的计算机接入网络,或通过两个RAS对拨使两个局域网互连。此项服务的功能可以使远程的计算机端点以较低的费用同网络连接。由于Windows操作系统的大量使用,远程访问

  • 路由器上网设置(宽带上网)

    如果电脑与宽带直接连接,需要将运营商提供的固定IP地址等参数手动填写在电脑上,才可以正常上网。动态IP也叫自动获得IP地址上网,是以太网线接入的上网方式之一,电脑通过宽带自动获取IP地址、子网掩码、网关以及DNS地址。在没有路由器的时候,您的电脑单机连接宽带,使用宽带服务商(电信或联通等)提供的宽带账号密码拨号上网,这种上网方式叫做PPPoE上网或宽带拨号上网。购买路由器后,就不需要在电脑上拨号了,只需要将宽带线连接到路由器的WAN口,在路由器界面上设置宽带拨号上网,您的所有终端设备都可以直接上网。

  • VC的拨号上网程序

        大家知道,在Netants、DownLoad Expert等软件中都带有定时拨号上网下载软件的功能。而一般用户的拨号上网,利用的是Windows的Remote Access Service(RAS,远程访问服务)。下面介绍一下其在Visual C++下的实现。   Visual C++为我们提供了包含RAS API声明的“ras.h″头文件。要在程序中实现拨号上网功能,其大致过程如下:  

  • 拨号上网和宽带区别

    连接方式和带宽不一样: 拨号是用电话线,带宽14kbps-56kbps(Modem不同速度不同),而宽带用网线连到Adsl Modem,再连到电话线,须向营运商申请,带宽1-3Mbps都有,带宽大的速度快。 另外,拨号是模拟信号,也就是说电脑将数字信号通过modem转为模拟信号,然后通过电话线路进行传输,在电信那里再转为数字信号,而宽带传输的就是数字信号。 还有,拨号所用的频率和

  • 用VC++6.0编写拨号程序 作者:陈晓东 (转)

    用VC++6.0编写拨号程序 作者:陈晓东 (转)[@more@]用VC++6.0编写拨号程序 作者:陈晓东 发布时间:2001/05/22 文章摘要:   本文利用visual c++6.0给出了一个拨号程序的实现,可以作...

  • VC++实现拨号上网程序 (转)

    VC++实现拨号上网程序 (转)[@more@]VC++实现拨号上网程序     大家知道,.NETants、DOWNLOAD Expert等软件中都带有定时拨号上网下载软件的功能。而一般用户的拨号上网,利用的是window...

  • VC实现PPPOE拨号

    背景:代替手工自动进行PPPOE拨号相关知识:主要使用的函数:The RasDial function establishes a RAS connection betweena RAS client and a RAS server. The connection data includes callbackand user-authentication inform

Global site tag (gtag.js) - Google Analytics