作为数据挖掘常用的两个工具软件,R软件和weka软件各有千秋,本文对这两种数据挖掘软件进行了比较与分析。
R软件介绍
R是统计领域广泛使用的一款软件,是一个开放的统计分析和图形显示的程序设计环境,它与S编程语言相似。 R 可以看作是贝尔实验室(Bell Laboratories)的Rick Becker,John Chambers和Allan Wilks开发的S语言的一种实现。S语言是一种用来进行数据探索、统计分析、作图的解释型语言。最初S语言的实现版本主要是S-PLUS。S-PLUS是一个商业软件,它基于S语言,并由MathSoft公司的统计科学部进一步完善。
Auckland大学的Robert Gentleman 和 Ross Ihaka及其他志愿人员开发了一个R系统。R的使用与S-PLUS有很多类似之处,两个软件有一定的兼容性。S-PLUS的使用手册,只要经过不多的修改就能成为 R的使用手册。所以有人说:R,是S-PLUS的一个"克隆"。
R是一套完整的数据处理、计算和制图软件系统。其功能包括:数据存储和处理系统;数组运算工具(其向量、矩阵运算方面功能尤其强大);完整连贯的统计分析工具;优秀的统计制图功能;简便而强大的编程语言:可操纵数据的输入和输入,可实现分支、循环,用户可自定义功能。
与其说R是一种统计软件,还不如说R是一种数学计算的环境,因为R并不是仅仅提供若干统计程序、使用者只需指定数据库和若干参数便可进行一个统计分析。R的思想是:它可以提供一些集成的统计工具,但更大量的是它提供各种数学计算、统计计算的函数,从而使使用者能灵活机动的进行数据分析,甚至创造出符合需要的新的统计计算方法。
R是一个免费的自由软件,它有UNIX、LINUX、MacOS和WINDOWS版本,都是可以免费下载和使用的。在R主页那儿可以下载到R的安装程序、各种外挂程序和文档。在R的安装程序中只包含了8个基础模块,其他外在模块可以通过CRAN获得。
R 软件由一组数据操作,计算和图形展示的工具构成。相对其他同类软件,它的特色在于:
1.有效的数据处理和保存机制。
2.完整的数组和矩阵计算操作符。
3.连贯而又完整的数据分析工具。
4.图形工具可以对数据直接进行分析和展示,同时可用于多种图形设备。
5.它是一种相当完善,简洁而又高效的程序设计语言(也就是"S")。它包括条件语句,循环语句,用户定义的递归函数以及各种输入输出接口。
R的主要优点:
1.R是自由软件。它不会向你收取任何费用,但是它的能力不会比任何同类型商业软件差。从功能相似的角度来说,R和Matlab最像的。
2.通过R你可以和全球一流的统计计算方面的专家合作讨论,它是全世界统计学家思维的最大集中。R已经有上千个由世界各国统计学专家提供的R软件包,用户可以免费使用。
3.它是彻底的面向对象的统计编程语言。
4.R和其他编程语言/数据库之间有很好的接口。代码整合的时候感觉R为你提供了一系列对象,你用其他语言只要调用这些对象就可以了。这对数据整合工作非常有用。
Weka软件介绍
Weka的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),是一款免费的,非商业化(与之对应的是SPSS公司商业数据挖掘产品--Clementine)的,基于JAVA环境下开源的机器学习(machine learning)以及数据挖掘(data minining)软件。它和它的源代码可在其官方网站下载。有趣的是,该软件的缩写WEKA也是New Zealand独有的一种鸟名,而Weka的主要开发者同时恰好来自New Zealand的the University of Waikato。
Weka作为一个公开的数据挖掘工作平台,集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理,分类,回归、聚类、关联规则以及在新的交互式界面上的可视化。而开发者则可使用Java语言,利用Weka的架构上开发出更多的数据挖掘算法。 读者如果想自己实现数据挖掘算法的话,可以看一看weka的接口文档。在weka中集成自己的算法甚至借鉴它的方法自己实现可视化工具并不是件很困难的事情。
Weka自1993年由位于New Zealand的the University of Waikato进行开发,最初的软件基于C语言实现。1997年,开发小组用JAVA语言重新编写了该软件,并且对相关的数据挖掘算法进行了大量的改进。2005年8月,在第11届ACM SIGKDD国际会议上,the University of Waikato 的Weka小组荣获了数据挖掘和知识探索领域的最高服务奖,Weka系统得到了广泛的认可,被誉为数据挖掘和机器学习历史上的里程碑,是现今最完备的数据挖掘工具之一(已有11年的发展历史)。Weka的每月下载次数已超过万次。
Weka和R比较
Weka和R是两个突出的开放源码分析软件系统。这两个都来自学术界,但有不同的目标和重点。R来自统计界,是一个通用分析统计环境,Weka的起源是在计算机科学,因此专门为机器学习和数据挖掘而设计。在选择分析软件时,你需要仔细考虑你的数据挖掘的目标范围内的各种因素,包括预测潜在部署模型。Weka的基础是100%的Java,促进简单集成和部署。Weka提供了技术,广阔的选择数据挖掘和机器学习。R是一个通用的统计环境,拥有设施。Weka无疑是更用户友好,有熟悉点的点击图形用户界面。而R本质上是一种函数式编程语言。
R里有很多机器学习的函数和包,不过Weka里提供的函数更全面更集中。所以通常在R中准备好训练的数据(如:提取数据特征……);整理成Weka需要的格式(*.arff);在Weka里做机器学习(如:特征选择、分类……);从Weka的预测结果计算需要的统计量(如:sensitivity, specificity, MCC……)。
Weak和R的具体比较见下表: