欢迎投稿

今日深度:

为您介绍几款开源的数据挖掘工具(1)

为您介绍几款开源的数据挖掘工具(1)


本文的主要内容编译自Blaz Zupan和Janez Demsar的一篇论文Open-Source Tools for Data Mining),原文参见http://magix.fri.uni-lj.si/blaz/papers/2008-OpenSourceDataMini选择其中的要点和大家共享,同时加入一些个人的点评意见。ng.pdf。我仅仅此外,对开源的数据挖掘工具有兴趣的同仁,可以关注以下OSDM09这个workshop,它会在PAKDD'09上同时进行,主要讨论的就是开源数据挖掘工具的议题。OSDM09的网址为:http://osdm09.togaware.com/。

开源的数据挖掘工具Open-Source Tools for Data Mining)

=======================================================

Blaz Zupan, PhD, Janez Demsar, PhD (编译:IDMer)

数据挖掘软件的历史并不长,甚至连“数据挖掘”这个术语也只是在上世纪九十年代中期才正式提出,它融合了统计学、机器学习、数据可视化以及知识工程等研究领域的内容,在数据探索和模型推断等方面已经相当成熟。和现在相比,那时的数据挖掘软件还显得很笨拙,一般只提供了命令行界面。对于众多没有计算机科学背景的用户来说,还是太难用了。

现在的商用数据挖掘软件已经很成熟了,也提供易用的可视化界面,集成了数据处理、建模、评估等一整套功能。尽管开源的数据挖掘工具在稳定性和成熟性上可能都无法跟商用数据挖掘软件相比IDMer:而且开源数据挖掘工具在性能上和售后支持上也无法提供让商业用户放心的保证),但有些开源工具还是做得不错的,用户可以选择它来做一些相对不那么重要的分析挖掘工作。

本文对开源数据挖掘工具的演进过程进行了简单回顾,并挑选了一些比较优秀的开源挖掘工具,供大家选择。

开源数据挖掘工具的演进过程

--------------------------

从上世纪八十年代起就出现了早期的模型推断和机器学习程序,它们一般都是以命令行的方式执行从UNIX或DOS的命令行启动),用户在命令中指定输入数据文件名和算法相关参数。广为人知的分类树归纳算法,C4.5,就是这种程序C4.5的源程序参见http://www.rulequest.com/Personal)。同时还出现了基于规则的学习算法,例如AQ和CN2。这些程序大多被用在医疗领域,比如癌症的诊断和预测。

这些程序一般并不包括数据抽样等处理功能,用户通常是使用一些脚本语言例如Perl)来做这些事情。同时,一些研究团体还开发了程序库用于支持数据格式共享、建模评估和报表功能),例如MLC++,就是用C++编写的机器学习程序库。

命令行界面让用户很难对数据进行交互式分析,而且文本格式的输出也不够直观。数据挖掘工具接下来的发展,就是内置数据可视化并强化交互功能。在上世纪九十年代中期,Silicon Graphics就收购了MLC++,并将其开发成为MineSet。MineSet几乎可以称为当时最全面的数据挖掘平台。Clementine也是当时非常流行的商用数据挖掘软件,在界面易用性上非常突出。

现在的开源数据挖掘软件,大多采用可视化编程的设计思路IDMer:就是用图形化的方法,来建立整个挖掘流程)。之所以这么做,是因为它能足够灵活和易用,更适合缺乏计算机科学知识的用户。

在分析软件中,灵活性和可扩展性是非常重要的,它允许你可以开发和扩展新的挖掘算法。在这个方面,WekaIDMer:它几乎是开源数据挖掘软件的代表)就提供了文档全面的Java函数和类库,非常适合扩展。当然,您首先需要充分了解Weka的架构,并掌握Java编程技术。另一个很有名的开源软件,R,则采用了相对不同的思路。R提供了丰富的统计分析和数据挖掘功能,它的内核是用C来实现的。但如果你想用R开发新的挖掘算法,那么你并不需要用C语言来开发,而是使用R软件自有的脚本语言来开发。采用脚本语言的好处在于速度IDMer:这里指的是开发新算法的时间会缩短,因为脚本语言相对来说更高级更简单)、灵活可以直接通过脚本调用挖掘软件中复杂的功能函数)、可扩展性可以通过接口来调用其它数据挖掘软件的功能)。当然,图形化的界面更容易使用,但使用脚本语言来开发新算法则可以满足一些特定分析需求。

开源数据挖掘工具箱-期望的功能

------------------------------

提供一组基本的统计工具,用于对数据进行常规探索;

多种数据可视化技术,例如histograms, scatterplots, distribution charts, parallel coordinate visualizations, mosaic and sieve diagrams等等;

标准的数据处理组件,包括querying from databases, case selection, feature ranking and subset selection, and feature discretization等等;

无指导的数据分析技术,比如principal component analysis, various clustering techniques, inference of association rules, and subgroup mining techniques等等;

有指导的数据分析技术,比如classification rules and trees, support vector machines, naive Bayesian classifiers, discriminant analysis等等;

模型评估和评分工具,包括对结果的图形化展示比如ROC曲线和lift图);

推断模型的可视化功能IDMer:例如用树状结构来显示训练好的决策树,用气泡图来显示聚类,用网络图来显示关联等等);

提供探索型数据分析环境

可以把模型保存为标准格式例如PMML),以便进行共享和移植

提供报表功能,可以生成分析报告,并允许保存用户的备注或说明


www.htsjk.Com true http://www.htsjk.com/shujukukf/17025.html NewsArticle 为您介绍几款开源的数据挖掘工具(1) 本文的主要内容编译自Blaz Zupan和Janez Demsar的一篇论文Open-Source Tools for Data Mining),原文参见http://magix.fri.uni-lj.si/blaz/papers/2008-OpenSourceDataMini选择其中...
评论暂时关闭