使用数据挖掘软件Rapidminer进行关联规则分析
这段时间使用了Rapidminer进行关联规则的挖掘实验,很多细节问题折腾了好长时间。在网络上也搜不到类似的东西,尤其是中间遇到一个问题折腾了两天。最后是通过研究Rapidminer本身带有的例子才把一些细节给搞清楚,因此把一些需要注意的地方写下来以备下次查询。
前提是有很多的数据,准备做频繁模式以及关联规则分析,也了解过Weka或者Rapidminer这样的工具,也能自己写出代码来完成这个工作。但是,考虑到时间成本以及对算法充分了解的基础上,想要快速得到结果,从而把主要精力放在数据的构造上和挖掘结果的分析上,那就有必要了解下如何使用这些工具软件。
1 简介:
首先介绍下RapidMiner: RapidMiner一款开源数据分析工具。有非常丰富的数据分析算法,通过拖拽方式进行数据挖掘流程的连接,每个节点是一个处理过程(可以包含子过程)。每个节点的操作可以是数据本身的过滤、变换、属性选择等。也支持正则表达式过滤、按权重过滤、丢失补齐等一系列自己想要完成的数据操作。建模的model也包括了常用的分类预测、聚类、关联规则、相关性计算、相似性计算等模型,基本满足了很多的需要。
本文介绍的工作是:有一个用于频繁模式和关联规则分析的数据,通常是一个二维表格,用Rapidminer完成这样一个分析的具体过程。
数据准备:通过要做频繁模式和关联规则分析的数据都有稀疏的特点,当数据量很大的时候,比如有上万维、几十万的条目数据,就有必要考虑使用稀疏存储的方式来导入到Rapidminer中。由于Rapidminer能识别Weka中的arff格式数据,因此,本文采用Weka中稀疏数据的存储格式。下面是一个例子(该例子是以传统购物车的商品来说明,每个商品是一个属性,每个属性的取值是F或者T,当然做关联规则的数据也不一定本身就是二值属性的。):
@relation'basket'
@attribute fruitveg {F, T}
@attribute freshmeat {F, T}
@attribute dairy {F, T}
@attribute cannedveg {F, T}
@attribute cannedmeat {F, T}
@attribute frozenmeal {F, T}
@attribute beer {F, T}
@attribute wine {F, T}
@attribute softdrink {F, T}
@attribute fish {F, T}
@attribute confectionery {F, T}
@data
{1 T, 2 T, 10 T}
{1 T, 10 T}
{3 T, 5 T, 6 T, 9 T}
{2 T, 7 T}
{1 T, 7 T, 9 T}
数据格式说明请见:http://www.tuicool.com/articles/Q3MfEr
2. 软件准备:如果本身有这个软件请跳过此步。
http://softadvice.informer.com/Rapidminer_5.3.html 安装很简单,安装目录下有源码,可以导入eclipse研究,也可以自己下载源码。
3. 打开Rapidminer就可以看到这样的界面了。
3.1导入数据:
使用excel 格式的文件, arff格式等等。本例选用读取arff格式文件,因此拖拽一个Read ARFF 的操作,然后配置读入数据的路径。
流程图为:
![](/assets/blank.gif)
配置路径如下:
![](/assets/blank.gif)
3.2数据预处理:
首先查看数据如下:这里仅有11个商品(属性),12个购物车(也就是12条数据)。
![](/assets/blank.gif)
如果直接使用这个读入的数据进行FPGrowth树的构建,流程图如下:
挖掘结果是:如下图所示,Rapidminer并没有正确得到商品的频繁集,而是商品取反的频繁集,也就是缺失商品的频繁集。
![](/assets/blank.gif)
分析原因发现:Rapidminer的FP-Growth算法要求输入的是二值属性(bionominal),但是由于本例中的数据本身就是二值属性,算法本身也没有报错。运行结果和预期结果天壤之别就是由于合理的事情和一厢情愿。笔者甚至开始怀疑开源软件本身有bug,因此还花了两天时间调试代码,最后发现是由于软件本身没有认出来T就是表示”有“,而F表示”没有“的意思。这里要补充一点是,比如对频繁一项集进行计算的时候,针对的是一个属性的不同取值进行统计,这些取值有T有F,甚至是有三个取值或者更多,那么要统计哪一个取值的出现的个数作为结果呢?比如,一般频繁集的格式是:比如统计Age = ”old “ 是频繁集,它的置信度为 count( Age = ”old “)/ count(all ages)。 因此不指定属性的取值就直接给出统计结果是错误的,因此可以说是Rapidminer的一个bug。
我们希望的是它会自动统计取值为T的那些条目。当然,它也不能具备这样的功能能自动识别语义,因为这件事是需要软件使用者来说明的。但是,Rapidminer本身不报告这里可能出现语义理解偏差的问题就显得不太合理了。
因此在真正进行FP-Growth树构建的时候还要进行一步数据预处理,即进行二值化处理,告诉软件T表示true,F表示false。
如下图所示,选择Nominal to Binomial 操作对数据进行二值化,选中该操作的transform binomial 选项。
![](/assets/blank.gif)
配置参数为:
![](/assets/blank.gif)
该操作结束后的数据如下:可以看到的是属性增加了一倍为22个。即每个属性的取值个数相加在一起为22个。如果原来的数据在每个属性的独立取值个数为3,则结果就是3+3+...3= 33个(因为本数据中有11个属性),以此类推。
经过本步骤操作后,发现属性的个数增加了很多,但是很多属性也就是为取值为0的属性是不需要的,因此需要过滤掉。流程图如下:
![](/assets/blank.gif)
配置selectattribute这个操作的参数:
![](/assets/blank.gif)
这个参数的意义就是使用正则表达式过滤掉属性中不为T的属性,也就是留下属性取值为T的属性。 可以看到的是,保留的属性取值都是T,也就是保留语义为存在的商品。到这时,这个数据就是Rapidminer认识的数据了,它要计算频繁集就知道统计属性取值为true的个数了。其中,属性的名称变为了 frultveg = T 等。最后结果就是将数据构造为如下图所示的样子:
3.3完成频繁集和关联规则挖掘
最后使用FP-Growth 模型和Create Association Rules 进行连接,得出结果。
结果为:
关联规则如下图:
4 总结:
本实验采取的weka的arff数据,该数据格式支持稀疏存储的方式,对关联规则挖掘尤其适用。Rapidminer适用于小样本数据的挖掘,如果数量大很大,则要考虑适用更优秀的算法或者并行处理方式。MapReduce的编程模型对这种可以并行的任务十分方便。一般数量的挖掘,我的实验是在5万维,30万条数据进行的,利用16G内存进行实验,还是比较轻松。
使用数据挖掘软件Rapidminer进行关联规则分析相关推荐
- 如何免费使用数据挖掘软件RapidMiner - 申请学生许可证
如果你是一名在校学生,有校园邮箱,是可以免费使用RapidMiner的全部功能的,方法如下: -首先登录官网 https://rapidminer.com,注册账户,Account Type 需要选择 ...
- SPSS Modeler18.0数据挖掘软件教程(四):分类分析-决策树
教程传送门: SPSS Modeler18.0数据挖掘软件教程(一):背景及软件简介 SPSS Modeler18.0数据挖掘软件教程(二):数据描述性统计与可视化 SPSS Modeler18.0数 ...
- 基于.NET实现数据挖掘--关联规则分析算法
本篇继续我们的微软挖掘算法系列总结,前几篇我们分别介绍了:Microsoft决策树分析算法.Microsoft聚类分析算法.Microsoft Naive Bayes 算法.Microsoft 时序算 ...
- 数据挖掘之关联规则分析
关联规则分析也称为购物篮分析,最早是为了发现超市销售数据库中不同的商品之间的关联关系. 用于寻找数据集中各项之间的关联关系.根据所挖掘的关联关系,可以从一个属性的信息来推断另一个属性的信息.当置信度达 ...
- 【某航】关联规则分析CatalogCrossSell数据集——数据挖掘导论
代码链接:github代码 1.任务目标 针对所提供的CatalogCrossSell.xls数据集,要求对该数据及进行关联规则分析,并且解释生成的结果,评价指标包括lift,ratio, confi ...
- 基于微软案例数据挖掘之Microsoft 关联规则分析算法
此篇的Microsoft关联规则算法就是用来挖掘关联关系的典型算法,闲言少叙,我们直接进入正题. 应用场景介绍 关联规则算法是在大量数据事例中挖掘项集之间的关联或相关联系,它典型的应用就是购物篮分析, ...
- 好用的数据挖掘软件介绍
好用的数据挖掘软件介绍 WEKA 下载地址: Orange 下载地址: RapidMiner 下载地址: 八爪鱼 下载地址: WEKA WEKA的全名是怀卡托智能分析环境(Waikato Enviro ...
- [Data]数据挖掘软件的分类
目前市场上发布的数据挖掘软件大致分为三类:通用工具类:综合工具类:面向特定应用工具类.其中: 1. 通用工具类占有较大和成熟的一块市场.从定义上说.它们是非面向特定应用的.从本质上说,它们的范围是水平 ...
- 有影响力的数据挖掘软件列表
以下介绍分别按:公司.数据挖掘工具及其特点.应用行业案例 三个方面. 1.ANGOSS软件公司 http://www.angoss.com/ KnowledgeSTUDIO 平台:NT , Windo ...
最新文章
- Debian手动修改ip地址
- 剑指offer:和为S的连续正数序列
- 汉文博士 0.5.6 正式版发布
- oracle 游标(学校)
- 原生 js 模拟 alert 弹窗
- python爬虫开发环境中几个爬虫库的主要用途_分分钟了解Python爬虫
- Android Animation学习(四) ApiDemos解析:多属性动画
- 用js数组实现最原始的图片轮播实现
- 男人想要成功--必须明白的22个道理
- 动态IP或无公网IP时外网访问内网固定端口管家婆等应用
- 使用Bus Hound抓USB转串口数据包,助力问题分析
- 使用xftp怎么向服务器传输文件,如何使用文件传输软件Xftp
- 刑事实务办案中疑难问题
- java添加java_home环境变量_如何正确设置jdk环境变量JAVA_HOME?
- 计算机管理器鼠标不见了怎么办,电脑的鼠标光标消失了怎么回事?
- 红外图像盲元检测matlab,红外焦平面阵列盲元类型与判别.pdf
- 数学基础知识(公式)不用学太深,了解基本公式即可,遇到问题再查吧。
- 清北学堂 2017-10-06
- 计算机网络技术基础 阚宝明,计算机网络技术基础阚宝明答案
- 【节能、绿色、高效】数据中心发展正迈入“高算力”时代
热门文章
- 学习笔记 | c++中的smart pointer四个智能指针 shared_ptr、unique_ptr、weak_ptr、auto_ptr
- Chess Game Dataset (国际象棋游戏数据集)
- 美国密歇根大学指数不及预期,欧元低位反弹
- 汽车倒车雷达系统的设计与实现(一)
- Algebraic Multigrid
- 【软考中级】多媒体应用设计师复习笔记第三章
- 信息孤岛影响_国内企业的痛点,“企业信息孤岛”怎么破?
- 留学生在海外——Nina的幸福澳洲生活
- CpG ODN——艾美捷ODN 1826 (TLRGRADE)说明书
- 软件测试入职一年多薪资正常应该有多少?