《第七次数据挖掘实验——Apriori的R函数和应用.docx》由会员分享,可在线阅读,更多相关《第七次数据挖掘实验——Apriori的R函数和应用.docx(8页珍藏版)》请在第壹文秘上搜索。
1、学生实验报告课程名称数据挖掘实验名称Apriori的R函数和应用一、实验目的在r中掌握利用Apriori算法的找出数据库中隐藏的关联网,并能够对实验结果实现可视化和解释说明。二、实验环境R语言的集成平台Rstudio.三、实验原理1.Apriori算法(1)原理:Apriori算法主要包括搜索频繁项集和依据频繁项集产生关联规则两大部分。(2)在r中的实现:APriori算法的R函数在arules包中四、实验内容及步骤(一)实验内容用Apriori算法的R函数对事务原始数据搜索频繁项集,生成有效的简单关联规则并实现可视化。(二)实验步骤建立事务数据集对象;搜索频繁项集,生成有效的简单关联规则;筛
2、选关联规则;五、数据处理及实验结论setwd(C:UsersaaDesktopzz)library(arules)library(Matrix)MyTrans=read.transactions(file=事务原始数据.txt”,format=basket”,sep=,)MyRules=apriori(data=MyTrans,parameter=!ist(support=0.5,confidence=0.6,target=,frequentitemsets)#给出所有频繁项集inspect(MyRules)#浏览频繁项集TJ U U TJ TJ TJ TJ U TJ123456 7 89L
3、L L L Pi L L L L inspect(MyRules),工嬖界至美iteiassupportcountA0.502B0.753E0.753C0.753A,C)0.502B,E0.753B,C)0.502C,E)0.502B,C,E)0.502MyRules=apriori(data=MyTrans,parameter=!ist(support=0.5,confidence=0.6,target=zaximallyfrequentitemsets,z)inspect(MyRules) Inspea(MyRules)itensSUPPOrtcount1A,C0.5221B.C.El0.
4、52实验说明:指定最小支持度和最小置信度阈值分别为0.5和0.6o参数target设定为zzfrequentitemsets”。参数target设定为maximalIyfrequentitemsets,z0实验结论:利用inspect函数查看apriori函数返回结果,得到所有支持度大于0.5的频繁1-项集(4个)、频繁2-项集(4个)、频繁3-项集(1个);利用inspect函数查看apriori函数返回结果,得到最大频繁2-项集A,C)和最大频繁3-项集B,C,E)B,E,B,C,C,E不是最大频繁2-项集的原因是:它们均是最大频繁3-项集的子集,它们的超集不是非频繁项集。MyTrans=
5、read.transactions(file=事务原始数据.txt”,format=,zbasket,sep=,)MyRules=apriori(data=MyTrans,parameter=!ist(support=0.5,confidence=0.6,target=zruleszz)inspect(MyRules)size(x=MyRules)#查看各规则包含的项目数MyRules.sorted=sort(x=MyRules,by=zliftz,decreasing=T)inspect(MyRulcs.sorted)SlZe(X=MyRUleS)111122222222333 MyRule
6、s.sorted=sort(x=wyRules,by=,liff,decreasing=) nspec(MyRules.sorted)Ihsrhssupportconfidencecoverageliftcount1 A=C0.501.00000000.501.333333322 C=A0.500.66666670.751.333333323 B=E0.751.00000000.751.333333334 E-B0.751.00000000.751.333333335 BtC三E0.501.00000000.501.333333326 C,E=B0.501.0000.501.333333327
7、 B0.750.7SOOO1.1.0000038 =E0.750.75000001.1.0000039 =AC0.7SO.75OOO工.001.000310 B=AC0.500.66666670.750.8888889211 C=B0.500.66666670.750.8888889212 EC0.500.66666670.750.8888889213 C=E0.500.66666670.750.8888889214 B,E=AC0.500.66666670.7S0.888S8892实验说明:IhsrhssupportconfidenceI= B0.75O.75OOO2= 0.75O.75OO
8、O3O= KJ0.750. 7500000UA= c0.505仁 A0.500.6G666676B 0.751.000007()- B0.751.00000008B- C0.500.66666679便=同0.500.6G7二二= C0.500.666666711KJ= 0.500.6G6666712(S,E = C0.500.6G6666713(B.C - E0.501.000(c,E B0.501.0000000 Inspect(MyRules)0005555555500VOOO5 7 77777ZZ55lift count1.OOOOO 31.OOO 31.OOOOO 3 1.333333
9、3 21.3333333 21.3333333 31.3333333 3 0.8888889 20.8888889 2 O.8888889 2O.8888889 20.8888889 21.3333333 21.3333333 2指定最小支持度和最小置信度阈值分别为0.5和0.6o实验结论:生成了14条简单关联规则。前两列lhs,rhs分别为关联规则的前项和后项,后三列依次为规则的支持度、置信度和提升度。前项中存在的原因是:参数parameter中的minlen默认值为1,即允许规则中只包含一个项目。一B(S=0.75,C=O.75)表示B会以0.75的概率出现在事务中,与前项无关。size函
10、数的返回结果表明:14条简单关联规则中有3条规则只包含1个项目,有8条包含2个项目,有3条包含3个项目。按规则提升度排序可方便看到,14条规则中有5条规则的提升度小于1,这些规则缺乏实用性,可以剔除。可见,apriori算法仅依据最小支持度和最小置信度给出有效的关联规则,对没有实用性的规则还需手工剔除。MyRules.D=subset(x=MyRules,SUbSet=SiZe(MyRUIeS)=2)#挑出包含2个项的目的规则inspect(MyRules.D)Utjuuuutju12 3 4 5 6 ,8L l L l L l l le XJ XJ XJ ZJ XJ XJ XJ XJ P h
11、 A C BEBCEC 5 1 l fl fl fl fl l 2l flC* ZJ XJ XJ J XJ XJ 1 t he A EBCBCE ftftfilcl50 0.0.50 0.50 0.so 0.confidence 1.0000000 0.6666667 1.0000000 1.0000000 0.6666667 0.66G6667 0.6666667 0.6666667so 仇r 7仇75675inspect(Mules.01)*ftr5XtlM!lIhsrhssupportconfidencecoverageliftc(1A三C0.501.0000000o.so1.33333
12、32L2C三A0.500.666666:0.751.33333323B三E0.751.00000000.751.33333334E三B0.751.00000000.751.33333335B.O三)0.501.0000000O.SO1.3333332C,E三B0.501.0000000O.SO1.3333332MyRules三apriori(data4yrranslparater三1ist(s)port三o.5,confidence三o.6,trget三rules),appearance三11st(lhs三c(nBl*)ldefaultrhsw)APrioriParameterspecification:confidencenivalSnaXarwavaloriginalSupportnaxtinesupportninl