论文部分内容阅读
Weka已经逐渐成为一个国际知名的数据挖掘平台,其免费开源、算法丰富、架构相对规范、兼容性好,因此吸引了越来越多的研究者参入其中。随着数据挖掘技术在海量信息处理中卓越的表现,数据挖掘系统的设计也会越来越有价值,但由于商业数据挖掘系统设计和代码的保密性,开源的Weka是一个不可多得的选择,就像Linux正在吸引更多的用户和内核研究者一样,Weka在数据挖掘界也将可能势不可挡。
本文分析了Weka的框架(architecture),剖析了Weka的各个包(package)的结构设计和功能,分析了weka的内核文件。还就Weka的来源、功能、使用、输入输出、可视化、二次开发、扩展领域进行了简要介绍,指出了Weka存在的主要问题,并对Weka数据预处理的增强提出了改进的措施。
另外由于Weka系统包含了林林总总的功能和算法,数据挖掘算法本身又十分复杂,使Weka十分“庞大”,Weka系统的最新版本3-5-2源代码约30万行,800个java源文件。将Weka的部分内核分离出来,也是一件十分有意义的事情,本文就分类算法,将Weka做了最小精简瘦身,完整的NaviesBayes分类算法仅需31个Weka中的源文件。
Weka作为一个松散耦合(或者不耦合)的数据挖掘系统[1],由于不能使用DB/DW(数据库/数据仓库)系统的功能,在数据预准备阶段要花大量的时间查找、收集、清理和转换数据。不与这些系统耦合,DM(数据挖掘)就很难将这种系统集成到信息处理环境中。但在数据挖掘过程中,普遍认为数据预处理约占据整个过程60%-80%的时间。提高数据预处理的智能性就显得尤为重要。本文最后结合Weka平台、JDBCWrapper,就Weka和数据库的耦合性,智能的数据预处理进行了分析和设计。
本文对那些运用Weka做DM相关算法以及对那些从事数据挖掘系统设计的人都有很好的借鉴意义。