购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.3 数据挖掘常用工具

由于数据挖掘技术在各领域产生的巨大商业价值,一些著名的大学和国际知名公司纷纷投入到数据挖掘工具的研发中,开发出很多优秀的数据挖掘工具。数据挖掘工具 [15,16] 可分为商用工具和开源工具。

1.3.1 商用工具

商用工具主要由商用的开发商提供,通过市场销售,并提供相关的服务。商用软件不仅提供易用的可视化界面,还集成了数据处理、建模、评估等一整套功能,并支持常用的数据挖掘算法。与开源软件工具相比,商用软件功能更强大,软件性能更成熟和稳定。主流的商用工具有SAS Enterprise Miner、SPSS Clementine、IBM Intelligent Miner等,这些工具在各行业的数据统计和数据挖掘工作中取得了广泛的应用。

1.SAS Enterprise Miner

SAS Enterprise Miner,它是一种通用的数据挖掘工具,按照SAS定义的数据挖掘方法——SEMMA 方法,即抽样(Sample)、探索(Explore)、修改(Modify)、建模(Model)、评价(Assess)的方式进行数据挖掘。它把统计分析系统和图形用户界面(GUI)集成起来,为用户提供了用于建模的图形化流程处理环境,可利用具有明确代表意义的图形化模块将数据挖掘的工具单元组成一个处理流程图,并依此来组织数据挖掘过程。图形化的界面、可视化的操作,统计学无经验的用户也可以理解和使用它;但对于有经验的专家,它也可让用户精细地调整分析处理过程。它支持并提供一组常用的数据挖掘算法,包括决策树、神经网络、回归、关联、聚类等,还支持文本挖掘。

2.SPSS Clementine

Clementine 是 SPSS 公司开发的数据挖掘工具,支持整个数据挖掘过程,即从数据获取、转化、建模、评估到最终部署的全部过程,还支持数据挖掘的行业标准 CRISPDM。

Clementine 结合了多种图形使用接口的分析技术,使得 Clementine 不仅具有分析功能,还能够提供可使用的简单的、可视化程序环境。Clementine 资料读取能力强大,支持多种数据源的读取,而且为用户提供大量的人工智能、统计分析的模型(神经网络、聚类分析、关联分析、因子分析等)。Clementine 是采用客户/服务器架构的产品,既可以单机运行,也可以连接网络上的Clementine Server。

Clementine 的设计思想是用简单的方式进行数据挖掘,尽量屏蔽数据挖掘算法的复杂性以及软件操作的繁琐性,使数据挖掘人员将更多的精力放在使用先进的挖掘技术解决商业问题而不是操作软件本身。

3.IBM Intelligent Miner

IBM 的 Intelligent Miner 包含了最广泛的数据挖掘技术及算法,可容纳相当大的数据量且有强大的计算能力。它在IBM SP的并行处理计算机系统上执行效率最好,但也可以在IBM或非IBM平台上执行。丰富的API可用来开发数据挖掘应用软件,可通过C函数库来存取所有数据挖掘引擎和操作函数。它包含多种统计方法和挖掘算法,可以进行线性回归、因子分析、主变量分析、分类、分群、关联、相似序列、序列模式、预测等。

Intelligent Miner包括分析软件工具Intelligent Miner for Data和Intelligent Miner for Text,不仅可以寻找包含于传统文件、数据库、数据仓库和数据中心中的隐含信息,更允许企业从文本信息中获取有价值的客户信息。

4.QUEST

QUEST 是 IBM 公司 Almaden 研究中心开发的一个多任务数据挖掘系统,该系统提供了高效的数据开采基本构件,可用于新一代决策支持系统的应用开发。

QUEST 提供了专门在大型数据库上进行各种开采的功能,包括关联规则发现、序列模式发现、时间序列聚类、决策树分类、递增式主动开采等。各种开采算法可适用于任意大小的数据库,并具有近似线性计算复杂度。

1.3.2 开源工具

开源工具,意为向公众开放源代码的软件工具,最大的优势在于免费。研制开源软件的技术人员相信软件应该是开放的,让任何有能力的人参与并共同完善软件,能集思广益,并使得软件更新速度更快。除了商业数据挖掘软件外,市场上也出现了一批优秀的开源数据挖掘软件,它们在数据挖掘方面同样具有自己的特点和优势。相对于商业工具,开源软件工具更容易学习和掌握,缺乏数理统计知识的人员也能使用。

1.R

R 是用于统计分析和图形化的计算机语言及分析工具,提供了丰富的统计分析和数据挖掘功能,其核心模块是用C、C++和Fortran语言编写的。为了便于使用,它提供了一种脚本语言,即R语言。R语言以S语言环境为基础,R [15] 支持一系列分析技术,包括统计检验、预测建模、数据可视化等。在 CRAN(http://cran.r-project.org) 上可以找到众多开源的扩展包。

R 是一套完整的数据处理、计算和制图软件系统。其功能包括:数据存储和处理系统;数组运算工具(其向量、矩阵运算方面功能尤其强大);完整连贯的统计分析工具;优秀的统计制图功能;简便而强大的编程语言;可操纵数据的输入和输出,可实现分支、循环,用户可自定义功能。R 的思想是:它可以提供一些集成的统计工具,但更主要的是它提供各种数学计算、统计计算的函数,从而让使用者能灵活机动地进行数据分析,甚至创造出符合需要的新的统计计算方法。

2.Python

Python [17] 是一种功能强大的、开源的、解释性、面向对象的计算机编程语言,内建各种高级数据结构,支持模块和包,支持多种平台并可扩展。Python 语言简洁、易学习、易阅读,能降低程序的维护费用,已经成为很多用户所欢迎的、用途广泛的语言。国内用户对Python可能还比较陌生,但在国外它早已得到成熟和广泛的应用。著名的搜索引擎Google的核心代码就是用Python完成的。

Python 在数据统计、机器学习方面得到广泛应用,是人工智能研究领域中一个非常重要的工具。随着 NumPy、SciPy、Matplotlib 和 Pandas 等众多程序库的开发,Python在科学计算和数据分析领域占据着越来越重要的地位。相对于R语言,Python更平易近人,它能完成数据统计、分析、可视化等任务,满足几乎所有数据挖掘下所需的数据处理、统计模型和图表绘制等功能需求。

3.Weka

Weka(Waikato Environment for Knowledge Analysis)的全称是怀卡托智能分析环境,是一款免费的、非商业化的数据挖掘软件,它是基于Java环境下开源的机器学习与数据挖掘软件。Weka [18] 作为一个公开的数据挖掘工作平台,集成大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理、分类、回归、聚类、关联规则,以及交互式界面上的可视化。

Weka 可能是名气最大的开源机器学习和数据挖掘软件。高级用户可以通过 Java 编程和命令行来调用其分析组件,同时它也为普通用户提供了图形化界面。使用 Weka 可以轻松地进行数据挖掘,可以在数据集上进行数据预处理和运用数据挖掘算法。

Weka 的灵活性和可扩展性很好,它允许开发和扩展新的挖掘算法。Weka 提供了文档全面的Java函数和类库,非常适合扩展。当然,你首先需要充分了解Weka的架构,并掌握Java编程技术。

4.RapidMiner

RapidMiner原名YALE(Yet Another Learning Environment),是用于数据挖掘、机器学习、商业预测分析的开源计算环境。它提供了图形化界面,采用了类似Windows资源管理器中的树状结构来组织分析组件,树上每个节点表示不同的运算符。YALE 提供了大量的运算符,包括数据处理、变换、探索、建模、评估等各个环节。这些算子由详细的XML文件记录,并通过RapidMiner图形化用户界面表现出来。

RapidMiner 提供的数据挖掘和机器学习程序包括:数据加载和转换(ETL)、数据预处理和可视化、建模、评估和部署。数据挖掘的流程以 XML 文件加以描述,并通过图形用户界面显示出来。

RapidMiner是由Java编程语言编写的,集成了Weka的学习器和评估方法,并可以与R语言进行协同工作。

5.Mahout

Mahout是Apache Software Foundation(ASF)旗下的一个开源项目,在机器学习领域提供了一些可扩展的经典算法的实现和数据挖掘的程序库。它可以实现很多功能,包括聚类、分类、推荐过滤、频繁子项挖掘等。Mahout 的算法既可以在单机上运行,也可在 Hadoop 平台上运行。Mahout 通过将机器学习算法建于 MapReduce 并行计算模型之上,并将算法的输入、输出和中间结果构建于 HDFS 分布式文件系统之上,使得Mahout 具有高吞吐、高并发、高可靠性的特点,这就保证了其适合于大规模数据的机器学习。目前 Mahout 已经停止接受新的 MapReduce 算法,改为支持基于 Spark 和 H 2 0平台的算法。Mahout 实现的机器学习算法包括:聚类算法、分类算法、关联规则挖掘、回归、降维、进化算法、过滤、向量相似度计算等。

6.Spark MLlib

Spark 是一个开源集群运算框架,最初是由加州大学柏克利分校 AMPLab 实验室开发的。Spark和Hadoop MapReduce同为主流大数据处理系统,但它使用了内存内运算技术,相比于 MapReduce程序运行性能要好10~100倍,且编程更为方便,支持 SQL 查询、流式查询,自带机器学习算法实现库 MLlib,提供 Java、Scala、Python、R 等多种语言的API接口,并且兼容HBase、HDFS等Hadoop数据源,使得原来基于Hadoop的大数据应用系统可以很容易地迁移到Spark上,从而受到广大开发者的热捧。

MLlib(Machine Learning lib)是Spark中的一个可扩展的机器学习库,由通用的学习算法和工具组成,包括分类、线性回归、聚类、协同过滤、梯度下降以及底层优化原语。MLlib 是专为在集群上并行运行而设计的,只包含能够在集群上运行良好的并行算法,因此MLlib中的每个算法都适用于大规模数据集。 C3zQ3UNqfjzPZ1GIU7mDPY1BYA8RAn7bb2E49L+6HfO3hCXwD1Jqkd1v82/lwwSc

点击中间区域
呼出菜单
上一章
目录
下一章
×