RapidMiner数据挖掘入门
RapidMiner数据挖掘入门之一:概要
1 简介
RapidMiner别名Yale, 是一套用于数据挖掘.机器学习.商业分析的开源计算平台.KDnuggets于2011年的一项调查结果显示,从实际应用频率来看 RapidMiner 略微领先于 R语言.该软件凭借其直观的图形界面,特别适合数据初学者快速上手分析预测.
RapidMiner包含的数据挖掘与机器学习工具集涵盖了数据加载与转换(ETL)、数据预处理与可视化、模型构建以及评估与部署。数据挖掘的过程通过XML文件进行描述,并以图形界面的形式展示。作为Java编程语言开发的平台,RapidMiner整合了WEKA的学习器与评估方法,并支持与其他语言如R语言的合作功能。
2 学习资源
软件内置了26个tutorial便于新手快速掌握基础操作。此外在sample中有丰富的案例数据和流程可供参考学习。官方提供了一份简明易懂的用户手册此外在资源站上也提供了高质量的视频教程供进一步学习参考。
3 基本概念
大体上有这样几类算子:
- 流程控制模块旨在处理循环结构与条件判断。
- 数据交换接口负责完成数据传输任务。
- 数据处理系统涵盖多种数据处理环节。
- 模型构建平台涵盖分类与回归模型构建。
- 评估系统支持关联分析、聚群分析以及集成学习方法。
- 复杂交叉验证方法用于多重交叉检验评估。
- 自举法验证策略辅助自助法检验过程。
该软件包含两个主要的工作区域。其中一个是流程设计专用区域,在其左侧 panel 中展示了各类运算器与工具包;中央位置设有主流程规划界面;下方区域用于显示错误信息;右侧 panel 提供参数配置选项
[
将算子移动到主流程工作区后,它会以一个方框形式显示出来,并通过不同颜色区分功能模块。左侧为输入端口及输入类型标识,在右侧则为输出端口及对应标识。左下角有三种状态指示灯:红灯表示该算子存在配置错误、黄灯表示配置正确但尚未执行过操作、绿灯则表明配置正确且已进行过计算操作。
[
当进行建模任务时,在模型中定义的变量会被划分为两类:普通属性与目标属性。特别地,在监督学习场景中尤其需要注意这一点。根据数据的特征进行分类时可以将其划分为数值型属性、分类型属性等几个大类别:其中二元分类属性和多项式型属性是较为常见的两种类型。不同类型的运算符对输入数据的类型有不同的处理方式,在运算符说明书中需仔细查阅相关资料
4 建模一般流程 * 创建一个新的数据存储结构(repository)
- 将选定的运算器(operator)纳入主处理流程(main process)中
- 配置运算器相关的参数设置 (parameter)
- 完成运算器之间的连接操作
- 启动处理流程以获取计算结果
rapidminer数据挖掘入门之二:数据导入、预处理和绘图
1 基本概念
在安装rapidminer时,默认会询问创建新库文件的位置,默认情况下会在本地创建,请问这是指的哪个位置?这个位置实际上相当于用户的全部存储位置,在此目录下设有专门用于管理数据仓库的特定区域。这个仓库主要包含两类资源:一类是用于建模的数据集(Data),另一类则是用于流程操作的建模模型或称为Processes。完成安装后,在Repositsories目录下会自动生成一些示例文件包(sample files),这些文件包包含了可供实践使用的各种数据集与模型集合体。
2 数据导入
数据导入可通过两种途径进行:
第一种方法是通过Repository菜单中的Import功能完成操作。该功能支持读取包括CSV在内的多种文件格式数据,并将这些文件中的内容以data的形式存储在相应的数据库中。方便地拖拽至主流程图模块进行调用,则会显示为Retrieve节点。
该方法以操作符形式导入,在操作符库中提供了数十种可选的操作符,并支持将这些操作符拖放至主流程图区域进行配置。随后,在设置窗口内指定数据源
3 数据预处理
数据预处理的核心在于通过Data Transformation模块来执行操作中,并涵盖以下几个主要类别:
- 重定义,在数据导入时软件会让你定义哪些属于预测变量,哪些属于响应变量,如果在导入阶段没有定义,则可以在预处理阶段用(Set Role)算子进行再定义,否则会无法进行分类建模。
- 数据类型转换,数据大致上可分为数值(numerical)、两类(Binomial)、多类(Polynomial)数据,有时候希望相互转换,这就要用到Type Conversion类的算子来处理。
- 数据标准化,标准化数据和还原是经常用到的功能,分别对应Normalize和De-Normalize算子,
- 数据的清理,有这样几种数据可能是需要清理的,一是离群点,通过Detect Outier进行检测;二是缺失数据,通过Replace Missing Values进行处理;三是近似于常数的变量,通过Remove Useless Attribute算子来处理;四是相关度很高的变量,用Remove Correlated Atributes算子处理。
- 数据抽样,通过sample算子实现。
4 数据绘图
[
此处为denver.zxproxy.com上的资源页面链接。
参数设置为u=gmeqDBzRWdq8Ht0UwIBTbQyf0QgXbL9lGTM0UR3imyKNut0bpPBR8dLM%2F9Ns5lUvSNJcHWvJyh8WtxfBOjeFUW533hJExf1jKMV1VcawkObuqFnRyIlpBrLB8jr7EDR8tcAcIGNbKQWI1HqbYfw%3D&b=6
绘图功能位于result overview窗口内,并且提供多种可视化选项用于数据分析与展示。为了演示绘图过程,请参考鸢尾花数据集作为示例案例进行操作:将库中的样本数据集拖入到Main Process模块,并对其执行标准化处理后即可生成标准化后的分析结果。单击大三角符号按钮执行计算操作后程序会自动生成结果视窗,在结果视窗中选择plot view选项即可生成多种图表类型如折线图、柱状图等不同的可视化形式;如图所示是一个三维散点图实例:
[
rapidminer数据挖掘入门之三:特征选择
在常规的数据分析场景下,默认情况下样本集合类似于电子表格的形式,在这种形式中每个样本数据被排列成一行而各列则分别代表了样本的不同特征或属性通常情况下当样本公司具有的特征数量显著多于其自身的数量这会导致所谓的"维度灾难"现象出现
在大多数回归分类模型中,过高的维度难以承受,并且这些高维特征可能严重干扰训练效果并降低分类性能。因此有必要采取措施进一步降低特征空间的维度。降维过程主要包括两类方法:一类是特征选择又称为子集选择,在最初的N个变量中选出n个变量来代表样本信息;另一类则是数据变换的方法将N个原始变量转换为n个新的变量如主成分分析法等
在特征选择的过程中通常采用的方法是:首先建立一个评价指标(即...),然后单独地对构成候选集合中的各个候选属性分别进行评价(即计算每个候选属性对应的评分),最后将所有候选属性按照各自所得评分从高到低排列,并筛选出达到预定阈值的标准数量的属性组合作为最终的选择。
基于使用方法的角度来看, 特征选择主要可分为滤镜法(Filter-based)与包裹法(Wrapper-based)。其中, 滤镜法无需依赖特定分类器进行训练, 而包裹法则会根据具体分类器的效果来选择特征. 滤镜法具有计算速度非常快的特点, 然而其缺点在于可能会丢失数据的一般性. 例如, The RapidMiner platform typically employs the Wrapper approach.
我们首先定位到sample->processes->04_Attributes->10_ForwardSelect这一路径。该示例采用的方法是以基于前向搜索的顺序进行特征筛选,并以均方误差作为回归评估标准来完成特征选择过程。
启动运行后,请您查看ProcessLog标签下的图形,并将纵轴属性设置为Performance、横轴属性设置为Generation。当选择三个关键变量时(如a1,a2,a3),模型的均方误差达到了最小值。可从ExampleSet标签中获取所选特征的具体信息。
[
rapidminer数据挖掘入门之四:建模和评价(完)
在rapidminer平台中包含了许多建模方法与学习器集合,在处理回归与分类问题时具有广泛的应用场景。涵盖从基本的线性回归到更复杂的决策树、神经网络以及支持向量机等多种类型的学习方案。此外还提供集成学习方案,在这种策略下将多个独立的学习模型组合以增强整体性能。如常见的Bagging、Boosting及Stacking等技术。
我们可以将这类学习器视为一个封闭系统,在实际应用中它们接收输入数据并生成模型结构并提供预测结果。值得注意的是,在选择特定的学习器时应考虑其对不同类型的输入数据的要求:例如决策树学习器能够处理数值型特征、二元属性以及多项式属性作为自变量;同时它也能处理多项式标签和二元标签作为因变量;但无法处理数值型因变量的情况。通过内置的帮助文档或指导信息包等资源可以进一步了解各个参数的具体设置方法
在模型构建过程中, 我们通常会将样本集均等分割为两组, 其中一组作为训练样本用于模型建立, 另一组作为验证样本用于检验模型效果。随后, 在输入端添加Split Data算子, 并将其与数据源连接起来。随后, 将Split Data算子得到的第一组数据馈送给Decision Tree模块用于训练决策树模型; 将第二组数据馈送给Apply Model模块用于模型验证环节。接着, 将决策树模块(DT)的输出信号传递至分类器应用模块(Apply Model), 并将该模块的输出结果引接到Performance评估模块(Performance)进行模型性能量化分析。最后将模型模块(MOD)和性能评估模块(Perf)的结果分别连接到右侧展示区域即可完成整个建模流程。
[
该系统在资源分配方面表现出高效的性能。
该系统能够实现资源的高效配置。
该系统采用先进的算法策略以优化资源配置。
基于仿真研究的结果表明,在相同条件下,
所提出的算法在性能上优于现有的方法。
针对系统的全面仿真研究进行了深入分析,
并验证了算法的有效性。
实验结果表明,
该系统能够以较低的计算复杂度
实现较高的资源利用率。
另外一种广泛采用的检验手段是cross-validation(交叉验证),例如,在十折交叉验证的情况下,则是将所有数据随机划分为十等份,并选取其中九份作为训练集来进行模型训练;剩余一份用于评估模型性能;随后替换一份用于测试的数据进行重新实验;如此反复操作即可获得十个不同的评估指标;最终综合分析模型的表现;在rapidminer中则需运用X-Validation算子来实现上述功能;流程图如下所示
[
应有意识到validation作为一个嵌套运算符具有一定的复杂性,在双击进入之后必须配置学习器等子模块
[
