weka关联规则使用.docx_第1页
weka关联规则使用.docx_第2页
weka关联规则使用.docx_第3页
weka关联规则使用.docx_第4页
weka关联规则使用.docx_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

前面几篇介绍了关联规则的一些基本概念和两个基本算法,但实际在商业应用中,写算法反而比较少,理解数据,把握数据,利用工具才是重要的,前面的基础篇是对算法的理解,这篇将介绍开源利用数据挖掘工具weka进行管理规则挖掘。weka数据集格式arffarff标准数据集简介weka的数据文件后缀为arff(Attribute-Relation File Format,即属性关系文件格式),arff文件分为注释、关系名、属性名、数据域几大部分,注释用百分号开头%,关系名用relation申明,属性用attribute什么,数据域用data开头,看这个示例数据集(安装weka后,可在weka的安装目录/data下找到weather.numeric.arff):%weather datasetrelation weatherattribute outlook sunny, overcast, rainyattribute temperature numericattribute humidity numericattribute windy TRUE, FALSEattribute play yes, nodatasunny,85,85,FALSE,nosunny,80,90,TRUE,noovercast,83,86,FALSE,yesrainy,70,96,FALSE,yesrainy,68,80,FALSE,yesrainy,65,70,TRUE,noovercast,64,65,TRUE,yessunny,72,95,FALSE,nosunny,69,70,FALSE,yesrainy,75,80,FALSE,yessunny,75,70,TRUE,yesovercast,72,90,TRUE,yesovercast,81,75,FALSE,yesrainy,71,91,TRUE,no当数据是数值型,在属性名的后面加numeric,如果是离散值(枚举值),就用一个大括号将值域列出来。data下一行后为数据记录,数据为矩阵形式,即每一个的数据元素个数相等,若有缺失值,就用问号?表示。arff稀疏数据集我们做关联规则挖掘,比如购物篮分析,我们的购物清单数据肯定是相当稀疏的,超市的商品种类有上10000种,而每个人买东西只会买几种商品,这样如果用矩阵形式表示数据显然浪费了很多的存储空间,我们需要用稀疏数据表示,看我们的购物清单示例(basket.txt):freshmeat dairy confectioneryfreshmeat confectionerycannedveg frozenmeal beer fishdairy winefreshmeat wine fishfruitveg softdrinkbeerfruitveg frozenmealfruitveg fishfruitveg freshmeat dairy cannedveg wine fishfruitveg fishdairy cannedmeat frozenmeal fish 数据集的每一行表示一个去重后的购物清单,进行关联规则挖掘时,我们可以先把商品名字映射为id号,挖掘的过程只有id号就是了,到规则挖掘出来之后再转回商品名就是了,retail.txt是一个转化为id号的零售数据集,数据集的前面几行如下:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 3233 34 3536 37 38 39 40 41 42 43 44 45 4638 39 47 4838 39 48 49 50 51 52 53 54 55 56 57 5832 41 59 60 61 623 39 4863 64 65 66 67 6832 69这个数据集的商品有16469个,一个购物的商品数目远少于商品中数目,因此要用稀疏数据表,weka支持稀疏数据表示,但我在运用apriori算法时有问题,先看一下weka的稀疏数据要求:稀疏数据和标准数据的其他部分都一样,唯一不同就是data后的数据记录,示例如下(basket.arff):relation basketattribute fruitveg F, Tattribute freshmeat F, Tattribute dairy F, Tattribute cannedveg F, Tattribute cannedmeat F, Tattribute frozenmeal F, Tattribute beer F, Tattribute wine F, Tattribute softdrink F, Tattribute fish F, Tattribute confectionery F, Tdata1 T, 2 T, 10 T1 T, 10 T3 T, 5 T, 6 T, 9 T2 T, 7 T1 T, 7 T, 9 T0 T, 8 T6 T0 T, 5 T0 T, 9 T0 T, 1 T, 2 T, 3 T, 7 T, 9 T0 T, 9 T2 T, 4 T, 5 T, 9 T可以看到freshmeat dairy confectioneryfreshmeat confectionery表示为了:1 T, 2 T, 10 T1 T, 10 T稀疏数据的表示格式为:,.,,注意每条记录要用大括号,属性列号不是id号,属性列号是从0开始的,即第一个attribute 后面的属性是第0个属性,T表示数据存在。规则挖取我们先用标准数据集normalBasket.arff1试一下,weka的apriori算法和FPGrowth算法。1、安装好weka后,打开选择Explorer2、打开文件3、选择关联规则挖掘,选择算法4、设置参数参数主要是选择支持度(lowerBoundMinSupport),规则评价机制metriType(见上一篇)及对应的最小值,参数设置说明如下2:1. car 如果设为真,则会挖掘类关联规则而不是全局关联规则。2. classindex 类属性索引。如果设置为-1,最后的属性被当做类属性。3. delta 以此数值为迭代递减单位。不断减小支持度直至达到最小支持度或产生了满足数量要求的规则。4. lowerBoundMinSupport 最小支持度下界。5. metricType 度量类型。设置对规则进行排序的度量依据。可以是:置信度(类关联规则只能用置信度挖掘),提升度(lift),杠杆率(leverage),确信度(conviction)。在 Weka中设置了几个类似置信度(confidence)的度量来衡量规则的关联程度,它们分别是:a) Lift : P(A,B)/(P(A)P(B) Lift=1时表示A和B独立。这个数越大(1),越表明A和B存在于一个购物篮中不是偶然现象,有较强的关联度.b) Leverage :P(A,B)-P(A)P(B)Leverage=0时A和B独立,Leverage越大A和B的关系越密切c) Conviction:P(A)P(!B)/P(A,!B) (!B表示B没有发生) Conviction也是用来衡量A和B的独立性。从它和lift的关系(对B取反,代入Lift公式后求倒数)可以看出,这个值越大, A、B越关联。6. minMtric 度量的最小值。7. numRules 要发现的规则数。8. outputItemSets 如果设置为真,会在结果中输出项集。9. removeAllMissingCols 移除全部为缺省值的列。10. significanceLevel 重要程度。重要性测试(仅用于置信度)。11. upperBoundMinSupport 最小支持度上界。 从这个值开始迭代减小最小支持度。12. verbose 如果设置为真,则算法会以冗余模式运行。设置好参数后点击start运行可以看到Apriori的运行结果:FPGrowth运行的结果是一样的:每条规则都带有出现次数、自信度、相关度等数值

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论