当前位置:首页 > 资源 >工具列表 >工具详情

Rapid Miner
平分:

RapidMiner是一款开源的数据挖掘软件,它不仅提供了一个GUI的数据处理和分析环境,还提供了Java API,便于嵌入其它应用程序,并具有以下功能特点:免费提供数据挖掘技术和库;数据挖掘过程简单、强大和直观;多层次的数据视图;图形用户界面的互动原型;命令行(批处理模式)自动大规模应用;简单的插件和推广机制以及强大的可视化引擎等。RapidMiner已广泛成功的应用在文本挖掘、多媒体挖掘、功能设计、数据流挖掘、集成开发的方法和分布式数据挖掘等领域。

软件类型:免费

使用教程

1、简介

   RapidMiner原名Yale,它是用于数据挖掘、机器学习、商业预测分析的开源计算环境。根据KDnuggets2011年的一次投票显示,从使用率来看该软件比之R语言还要略胜一筹。因为其具备GUI特性,所以很适合于数据挖掘的初学者入门。

  RapidMiner提供的数据挖掘和机器学习程序包括:数据加载和转换(ETL),数据预处理和可视化,建模,评估和部署。数据挖掘的流程是以XML文件加以描述,并通过一个图形用户界面显示出来。RapidMiner是由Java编程语言编写的,其中还集成了WEKA的学习器和评估方法,并可以与R语言进行协同工作。

2、学习资源

  软件的帮助菜单中自带了26tutorial,可以帮助用户进行基本入门。另外在sample有也有不错的案例数据和流程可供参考学习。从官方网站可以下载到一份简单的用户手册,另外还有相应的资源站提供了很好的视频教程。

3、基本概念

  rapidminer中的功能均是通过连接各类算子(operataor)形成流程(process)来实现的,整个流程可以看做是工厂车间的生产线,输入原始数据,输入出模型结果。算子可以看做是执行某种具体功能的函数,不同算子有不同的输入输出特性。

  大体上有这样几类算子:

  流程控制类,是为了实现循环和条件功能。

  数据输入和输出类,是为了实现数据交换。

  数据转换类,包括各种数据抽取、清洗整理功能

  建模类,包括分类回归建模,关联分析、聚类分析、集成学习等功能。

  评估类,包括多重交叉检验,自助法检验等功能

  软件有两个主要的工作区,一个是流程设计工作区,本区左侧可以看到各类算子和库,中间的主流程设计区,下方是错误提示区,右侧是参数设置区。另一个是结果显示工作区。

  将算子拖入主流程工作区后,它会以一个方箱形式呈现,不同的颜色暗示着不同的函数功能。箱体左侧是输入接口,对应着输入类型的缩写。右侧对应输出接口和相应缩写。左下角会有三种颜色的状态灯,红灯表示关于该算子的设置错误,黄灯表示设置正常但还未进行过执行操作,绿灯表示设置正常且已经进行过执行操作。

  在建模时,变量(attributes)会分为两个大类,普通变量称为regular,而目标变量称为label。这在有监督学习时需要特别留意。从数据特征来分,又可分为数值变量numeric,分类变量nominal,其中又有两值分类变量binominal,多值分类变量polynominal。不同的算子对于输入数据的类型有着不同的要求,这点需要在算子帮助中仔细阅读。

4、建模一般流程

  (1)新建一个库(Repository)

  (2)选择需要的算子(operator)放入主流程(main process)

  (3)设置算子相关参数 (parameter)

  (4)进行算子连接

执行流程以得到结果。

Rapidminer数据挖掘入门之二:数据导入、预处理和绘图

1、基本概念

  当安装软件时rapidminer会问你新建库文件在所在地,也就是Repositories,它相当于是用户的所有资料存放地。库中主要存放两种资料:一种是建模需要的数据(Data),另一种是建模用到的模型,或称为流程(Processes)。在安装完软件后,用户可以从Repositories下面看到sample文件,里面提供了用来练习用的数据和模型。

2、数据导入

  数据导入有两种方式:

  第一种是在Repositories菜单中点击import,可以读取CSV等五种格式数据,导入后以data形式存在库中,可随时拖拽到主流程图中调用,将会显示为Retrieve

  第二种是以算子(Operators)形式导入,从算子中的import类中可以选择十几种导入算子拖拽到主流程图中,然后在设置窗口确定资料来源。

3、数据预处理

  数据预处理主要通过Data Transformation算子实现中,其中包括了这样几个大类:

  重定义,在数据导入时软件会让你定义哪些属于预测变量,哪些属于响应变量,如果在导入阶段没有定义,则可以在预处理阶段用(Set Role)算子进行再定义,否则会无法进行分类建模。

  数据类型转换,数据大致上可分为数值(numerical)、两类(Binomial)、多类(Polynomial)数据,有时候希望相互转换,这就要用到Type Conversion类的算子来处理。

  数据标准化,标准化数据和还原是经常用到的功能,分别对应NormalizeDe-Normalize算子,

  数据的清理,有这样几种数据可能是需要清理的,一是离群点,通过Detect Outier进行检测;二是缺失数据,通过Replace Missing Values进行处理;三是近似于常数的变量,通过Remove Useless Attribute算子来处理;四是相关度很高的变量,用Remove Correlated Atributes算子处理。

  数据抽样,通过sample算子实现。

4、数据绘图

  绘图是在result overview窗口中实现,我们以著名的鸢尾花数据为例。首先将库中sample下的iris拖入Main Process,然后将其进行标准化,再点击大三角符号进行运算。软件会自动转到结果窗口,在该窗口选择plot view就可以选择多种绘图方式,下图就是所绘制的三维散点图:

Rapidminer数据挖掘入门之三:特征选择

  在一般数据分析条件下,样本集合就类似一个Excel表格,每个样本数据排为一行,而纵列则代表了样本不同的特征或属性。有时候样本数据的特征过多,甚至特征数超过样本数就形成所谓的“维灾难”。

  维数过高对于大多数回归分类模型来说是难以忍受的,而且这么高维特征可能会大大干扰训练效果、降低分类性能,因此有必要采取措施进一步地降低特征空间的维数。降维过程包括两类方法:一种是特征选择又称为子集选择,即从最初的N个特征中选取n个特征,而这n个特征可以更简洁、更有效地表示样本的信息。另一种是数据变换,即把N个原始特征变换为n个新的特征,例如主成分分析、投影寻踪方法。

  特征选择的一般思路是:构造一个评估函数,对特征子集中的每一个特征进行独立的评估,使每一个特征得到一个评估分,然后对所有特征按照其评估分大小进行排序,选取满足阀值的预定数目个特征形成特征子集。

  从使用方法上,特征选择又分为过滤器(Filter)方法和嵌入(Wrapper)方法,Filter是独立于分类器训练的,而Wrapper是结合分类器的效果进行选择的。Filter处理速度快,而Wrapper比较准确,但丧失了数据的一般性。rapidminer就采用Wrapper方法。

  我们首先在Repositories中选择sample->processes->04_Attributes->10_ForwardSelect。该例子中用的方法是以前向搜索为选择顺序,以回归均方误为评估指标进行特征选择。

  点击运行,然后观察结果窗口,在ProcessLog标签下观察散点图,纵轴选performance,横轴选generation,可以观察到在选择3个变量时,均方误达到最低,从ExampleSet标签可以看到最终选择了a1,a2,a3,这三个变量。

  rapidminer数据挖掘入门之四:建模和评价() rapidminer中提供了大量的建模方法或学习器,可用于不同情况下的回归和分类问题。从常见的线性回归、决策树到神经网络和支持向量机。此外还提供了集成学习器,即将多个学习器组合使用以提高预测能力,例如BaggingBoosting,以及Stacking

  这些学习器都可以看做是一个黑箱,输入数据,输出模型和预测结果。在使用这些学习器时要注意的一点就是:不同的学习器需输入的数据类型不同。以Decision Tree学习器为例,它可以输入numerical attributes(数值数据自变量)binominal attributes(两分类数据自变量)polynomial attributes(多分类数据自变量),以及polynominal label(多分类数据因变量) binominal label(两分类数据因变量),但它不能处理numerical label(数值数据因变量)。这些信息都可以在学习器上通过帮助信息了解。

  在建模时,我们通常会将样本数据分为两个部分,一半做为训练样本,另一半做为检验样本,那么这如何来进行呢?首先还是将iris数据拖入,在后面加上split data算子,该算子将数据分为两个等份,一部分数据连接到decision tree用于建模,另一部分连接到apply model算子用于模型检验。还需要将decision tree算子的输出连接到apply model算子的输入,将apply modellab输出连接到performance进行检验评价,最后将mod输出和per输出都连接到右边墙上即可。然后点击运行三角键就可以得到最终的结果输出。

  另一种常用的检验方法是cross-validation(交叉检验),以十重交叉检验为例,也就是将全部数据随机地分为等量的十份,选择其中的9份作为训练数据,剩下1份作为检测数据来评价模型。然后更换其中的1份数据,重复实验。这样得到10组不同的评价指标,最后综合评判模型的表现。在rapidminer中需要用X-Validation算子来实现这一功能。流程图如下所示,

  需要注意validation是一个嵌套算子,双击进入后需要设置学习器等子模块。


同关注

  • 评论

最新评论

同类工具

产品介绍:AMOS是SPSS Statistics软件包中的独立产品,是功能强大的结构方程(SEM)建模工具,…


产品介绍:Stata是一款可进行数据分析、数据管理以及绘制专业图表的统计软件。Stata具有强大的统计分析功能…


产品介绍:Eviews 软件是QMS(Quantitative Micro Software)公司开发的基于W…


产品介绍:Origin是一款图形可视化和数据分析软件,是科研人员和工程师常用的高级数据分析和制图工具,既可以满…


产品介绍:MATLAB广泛应用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要…


产品介绍:HLM是一个著名的多水平统计分析的软件,即使是不完整的数据,它也可以进行有效的多元线性分析,包括非限…


产品介绍:Weka(Waikato Environment for Knowledge Analysis)是一…


产品介绍:UCIENT是一款社会网络分析软件,它包括一维与二维数据分析的NetDraw,还有正在发展应用的三维…


产品介绍:Citespace是一款应用于科学文献中的可视化文献分析软件,它能够显示一个学科或知识域在一定时期发…