本节书摘来自华章出版社《Python数据分析与挖掘实战》一书中的第1章,第1.5节,作者 张良均 王路 谭立云 苏剑林,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1.5 常用的数据挖掘建模工具
数据挖掘是一个反复探索的过程,只有将数据挖掘工具提供的技术和实施经验与企业的业务逻辑和需求紧密结合,并在实施过程中不断地磨合,才能取得好的效果。下面简单介绍几种常用的数据挖掘建模工具。
(1)SAS Enterprise Miner
Enterprise Miner(EM)是SAS推出的一个集成的数据挖掘系统,允许使用和比较不同的技术,同时还集成了复杂的数据库管理软件。它的运行方式是通过在一个工作空间(workspace)中按照一定的顺序添加各种可以实现不同功能的节点,然后对不同节点进行相应的设置,最后运行整个工作流程(workflow),便可以得到相应的结果。
(2)IBM SPSS Modeler
IBM SPSS Modeler原名Clementine,2009年被IBM公司收购后对产品的性能和功能进行了大幅度改进和提升。它封装了最先进的统计学和数据挖掘技术来获得预测知识,并将相应的决策方案部署到现有的业务系统和业务过程中,从而提高企业的效益。IBM SPSS Modeler拥有直观的操作界面、自动化的数据准备和成熟的预测分析模型,结合商业技术可以快速建立预测性模型。
(3)SQL Server
Microsoft公司的SQL Server中集成了数据挖掘组件—Analysis Servers,借助SQL Server的数据库管理功能,可以无缝地集成在SQL Server数据库中。在SQL Server 2008中提供了决策树算法、聚类分析算法、Naive Bayes 算法、关联规则算法、时序算法、神经网络算法、线性回归算法等9种常用的数据挖掘算法。但是,预测建模的实现是基于SQL Server平台的,平台移植性相对较差。
(4)Python
Python(Matrix Laboratory,矩阵实验室)是美国Mathworks公司开发的应用软件,具备强大的科学及工程计算能力,它不但具有以矩阵计算为基础的强大数学计算能力和分析功能,而且还具有丰富的可视化图形表现功能和方便的程序设计能力。Python并不提供一个专门的数据挖掘环境,但它提供非常多的相关算法的实现函数,是学习和开发数据挖掘算法的很好选择。
(5)WEKA
WEKA(Waikato Environment for Knowledge Analysis)是一款知名度较高的开源机器学习和数据挖掘软件。高级用户可以通过Java编程和命令行来调用其分析组件。同时,WEKA也为普通用户提供了图形化界面,称为WEKA Knowledge Flow Environment和WEKA Explorer,可以实现预处理、分类、聚类、关联规则、文本挖掘、可视化等。
(6)KNIME
KNIME(Konstanz InformationMiner,http://www.knime.org)是基于Java开发的,可以扩展使用Weka中的挖掘算法。KNIME采用类似数据流(data flow)的方式来建立分析挖掘流程。挖掘流程由一系列功能节点组成,每个节点有输入/输出端口,用于接收数据或模型、导出结果。
(7)RapidMiner
RapidMiner也称为YALE(Yet Another Learning Environment, https://rapidminer.com),提供图形化界面,采用类似Windows资源管理器中的树状结构来组织分析组件,树上每个节点表示不同的运算符(operator)。YALE中提供了大量的运算符,包括数据处理、变换、探索、建模、评估等各个环节。YALE是用Java开发的,基于Weka来构建,可以调用Weka中的各种分析组件。RapidMiner有拓展的套件Radoop,可以和Hadoop集成起来,在Hadoop集群上运行任务。
(8)TipDM
TipDM(顶尖数据挖掘平台)使用Java语言开发,能从各种数据源获取数据,建立多种数据挖掘模型。TipDM目前已集成数十种预测算法和分析技术,基本覆盖了国外主流挖掘系统支持的算法。TipDM支持数据挖掘流程所需的主要过程:数据探索(相关性分析、主成分分析、周期性分析);数据预处理(属性选择、特征提取、坏数据处理、空值处理);预测建模(参数设置、交叉验证、模型训练、模型验证、模型预测);聚类分析、关联规则挖掘等一系列功能。