| Blog信息 |
|
blog名称:宿命宽恕轮回修仙 日志总数:18 评论数量:3 留言数量:0 访问次数:116129 建立时间:2009年3月18日 |
| « | December 2025 | » | | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | |

| |
|
[数据挖掘]优秀的开源数据挖掘工具 文章收藏
宿命宽恕轮回修仙 发表于 2009/6/2 17:33:56 |
| 转自http://www.w3china.org/blog/more.asp?name=DMman&id=24009和http://blogger.org.cn/blog/more.asp?name=idmer&id=41774
下文对几种流行的开源数据挖掘平台进行了介绍。如果您想找寻更多的开源数据挖掘软件,可以到KDnuggets和Open Directory上查找。
(1) RR(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)。
(2) TanagraTanagra(http://eric.univ-lyon2.fr/wricco/tanagra)是使用图形界面的数据挖掘软件,采用了类似Windows资源管理器中的树状结构来组织分析组件。Tanagra缺乏高级的可视化能力,但它的强项是统计分析,提供了众多的有参和无参检验方法。同时它的特征选取方法也很多。
(3) WEKAWEKA(Waikato Environment for Knowledge Analysis, http://www.cs.waikato.ac.nz/ml/weka)可能是名气最大的开源机器学习和数据挖掘软件。高级用户可以通过Java编程和命令行来调用其分析组件。同时,WEKA也为普通用户提供了图形化界面,称为WEKA Knowledge Flow、WEKA Environment和WEKA Explorer。和R相比,WEKA在统计分析方面较弱,但在机器学习方面要强得多。在WEKA论坛(http://weka.wiki.sourceforge.net/Related+Projects)可以找到很多扩展包,比如文本挖掘、可视化、网格计算等等。很多其它开源数据挖掘软件也支持调用WEKA的分析功能。
(4) YALE/RapidMinerYALE(Yet Another Learning Environment, http://rapid-i.com)现在已经更名为RapidMiner。并且商业化。它提供了图形化界面,采用了类似Windows资源管理器中的树状结构来组织分析组件,树上每个节点表示不同的运算符(operator)。YALE中提供了大量的运算符,包括数据处理、变换、探索、建模、评估等各个环节。YALE是用Java开发的,基于WEKA来构建,也就是说它可以调用WEKA中的各种分析组件。
(5) Bow与Weka和Yale不同,Bow(http://www.cs.cmu.edu/~mccallum/bow)是专门为文本处理设计的开源包。Bow包含三个部分:Rainbow(文本分类)、Arrow(文本检索)和Crossbow(文本聚类)。
(6) AlphaMinerAlphaMiner(http://www.eti.hku.hk/alphaminer)是哈工大-香港大学商务智能联合实验室基于WEKA内核开发的一个通用的数据挖掘系统,它能够帮助用户建立一个完整的数据挖掘流程,并提供一系列的功能使得用户可执行其中的任意挖掘步骤。AlphaMiner系统最主要的特点是它能够把开发好的数据挖掘案例保存在它的知识库中以便于日后重用。对于一般的商业管理人员,这个功能显著地提高了AlphaMiner系统的可用性。通过配合其它的数据分析工具,如在小型商业中广泛应用的Excel软件,AlphaMiner系统还提供了除了建立数据挖掘模型以外的一些辅助功能。
(7) KNIMEKNIME(Konstanz Information Miner, http://www.knime.org)是基于Eclipse开发环境来精心开发的数据挖掘工具。无需安装,方便使用。和YALE一样,KNIME也是用Java开发的,可以扩展使用WEKA中的挖掘算法。和YALE不同点的是,KNIME采用的是类似数据流(data flow)的方式来建立分析挖掘流程。挖掘流程由一系列功能节点(node)组成,每个节点有输入/输出端口(port),用于接收数据或模型、导出结果。KNIME中每个节点都带有交通信号灯,用于指示该节点的状态(未连接、未配置、缺乏输入数据时为红灯;准备执行为黄灯;执行完毕后为绿灯)。在KNIME中有个特色功能——HiLite,允许用户在节点结果中标记感兴趣的记录,并进一步展开后续探索。
(8) OrangeOrange(http://www.ailab.si/orange)是类似KNIME和WEKA Knowledge Flow的数据挖掘工具,它的图形环境称为Orange画布(Orange Canvas),用户可以在画布上放置分析控件(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)。
(9) GGobi数据可视化是数据挖掘的重要组成部分,GGobi(http://www.ggobi.org)就是用于交互式可视化的开源软件,它使用brushing的方法。GGobi可以用作R软件的插件,或者通过Perl、Python等脚本语言来调用。
(10) LuceneApache Lucene(http://lucene.apache.org)是一个开放源程序的搜寻器引擎,利用它可以轻易地为Java软件加入全文搜寻功能。Lucene的最主要工作是替文件的每一个字作索引,索引让搜寻的效率比传统的逐字比较大大提高,Lucen提供一组解读,过滤,分析文件,编排和使用索引的API,它的强大之处除了高效和简单外,是最重要的是使使用者可以随时应自已需要自订其功能。
以上介绍的几款软件都是优秀的开源数据挖掘软件,各有所长,同时也各有缺点。读者可以结合自己的需求来进行选择,或者组合使用多个软件。对于普通用户可以选用界面友好易于使用的软件,对于希望从事算法开发的用户则可以根据软件开发工具不同(Java、R、C++、Python等)来选择相应的软件。 |
|
|