开源的大数据挖掘工具为应用的快速开展奠定了基础。Mahout、Weka和Pentaho是三款基于Java的数据挖掘工具。开源软件Mahout来源于网络文本处理,算法集中应用于信息检索相关应用 [20,21] 。Weka是一个集成了许多数据挖掘算法和工具的免费软件,不局限特定的应用领域 [22,23] 。Pentaho来源于商业智能(Business Intelligence, BI),以工作流为核心,面向业务解决方案而非工具套件,解决大中型企业数据应用 [24] 。
Mahout由Apache Lucene开源社区的成员发起,由Apache Software Foundation(ASF)开发的一个开源项目 [20,21] 。Mahout包含的算法架构在分布式环境,多用于网络文档主题分析、搜索引擎。
1.推荐算法:基于用户偏好、商品相似性、顾客评分等协同过滤算法。
2.聚类算法:k-Means算法、模糊k-Means算法、Canopy算法、Dirichlet过程聚类、LDA(Latent Dirichlet Allocation)主题文档生成模型和Mean-Shift算法。
3.分类算法:Distributed Naive Bayes和Complementary Naive Bayes分类。
Weka是一个使用Java语言开发的、免费的数据挖掘套件 [22,23] ,集成了许多常见的数据处理方法,包括数据预处理、聚类、分类、回归、关联规则以及可视化技术。Weka侧重处理SQL数据库数据,数据量一般不大,在软件安装目录下有自带的测试数据集。Weka软件功能大多展现在Explorer部分,用户可以测试如下常用的数据挖掘算法 [22,23] 。
1.聚类算法:CLOPE、Cobweb、DBScan、EM、层次聚类、SimpleKMeans、XMeans等。
2.分类算法:Bayesian分类、支撑向量机、神经网络、决策树、基于规则分类、惰性学习、多实例学习等。
3.关联分析:Ariori、FPGrowth、PredictiveApriori、广义序列模式等。
4.统计分析:Bagging和Boosting、随机化。
随着大数据的应用,Weka逐步向分布式平台上迁移。
Pentaho是商业智能领域的重要工具,采用多维度、交互式的可视化数据操作,满足不同容量数据的分析和处理需求。新版本除了支持传统关系型数据库之外,还支持Hadoop架构及HBase、NoSQL、SQL等数据源的数据访问、整合及交换 [24] 。Pentaho由一个web服务器和若干应用组件构成,服务器是应用组件的平台,组件包括业务流程管理、Weka数据挖掘工具、可视化工具、报表等,其中Pentaho Kettle是常用的数据预处理工具 [25] 。