关于Weka的数据关联规则分析实验.doc
文本预览下载声明
关于Weka的数据关联规则分析实验
班级 市场091
姓名 杨超
学号 200916012106
实验基本原理及目的
关联规则的定义
假设I是项的集合。给定一个交易数据库,其中每个事务(Transaction)t是I的非空子集,即,每一个交易都与一个唯一的 标识符TID(Transaction ID)对应。关联规则在D中的支持度(support)是D中事务同时包含X、Y的百分比,即 概率;置信度(confidence)是包含X的事务中同时又包含Y的百分比,即 条件概率。关联规则是有趣的,如果满足最小支持度阈值和最小置信度阈值。这些阈值是根据挖掘需要人为设定。
在本实验中,我们对前面的““bank-data-final.arff””作关联规则分析,使用Apriori算法。下面我们简单描述一下Apriori算法的步骤。
这个算法先把数据库从逻辑上分成几个互不相交的块,每次单独考虑一个分块并对它生成所有的频集,然后把产生的频集合并,用来生成所有可能的频集,最后计算这些项集的支持度。这里分块的大小选择要使得每个分块可以被放入主存,每个阶段只需被扫描一次。而算法的正确性是由每一个可能的频集至少在某一个分块中是频集保证的。该算法是可以高度并行的,可以把每一分块分别分配给某一个处理器生成频集。产生频集的每一个循环结束后,处理器之间进行通信来产生全局的候选k-项集。
本次实验的目的,是通过利用Weka中提供的Apriori算法对““bank-data-final.arff””进行关联规则分析,更深刻的理解FP-树频集算法,并通过对实验结果进行观察分析,找出实验中所存在的问题。
2. 数据的准备及预处理
原始数据““bank-data-final.arff””已经是Weka支持的ARFF文件格式的数据,因此不需要转换。
3.实验过程及结果截图
我们打算对前面的“bank-data”数据作关联规则的分析。用“Explorer”打开“bank-data-final.arff”后,切换到“Associate”选项卡。默认关联规则分析是用Apriori算法,我们就用这个算法,但是点“Choose”右边的文本框修改默认的参数,弹出的窗口中点“More”可以看到各参数的说明。
参数设置 现在我们计划挖掘出支持度在10%到100%之间,并且lift值超过1.5且lift值排在前100位的那些关联规则。我们把“lowerBoundMinSupport”和“upperBoundMinSupport”分别设为0.1和1,“metricType”设为lift,“minMetric”设为1.5,“numRules”设为100。其他选项保持默认即可。“OK” 之后在“Explorer”中点击“Start”开始运行算法,在右边窗口显示数据集摘要和挖掘结果如下:
下面是挖掘出来的lift排前5的规则。
1. income=(43758.136667-inf) 80 == age=(50.666667-inf) save_act=YES current_act=YES 61 conf:(0.76) lift:(4.05) lev:(0.08) conv:(3.25)
2. age=(50.666667-inf) save_act=YES current_act=YES 113 == income=(43758.136667-inf) 61 conf:(0.54) lift:(4.05) lev:(0.08) conv:(1.85)
3. age=(50.666667-inf) save_act=YES 151 == income=(43758.136667-inf) current_act=YES 61 conf:(0.4) lift:(3.85) lev:(0.08) conv:(1.49)
4. income=(43758.136667-inf) current_act=YES 63 == age=(50.666667-inf) save_act=YES 61 conf:(0.97) lift:(3.85) lev:(0.08) conv:(15.72)
5. income=(43758.136667-inf) 80 == age=(50.666667-inf) save_act=YES 76 conf:(0.95) lift:(3.77) lev:(0.09) conv:(11.97)
4. 实验结果分析
4.1 实验结果
下面对实验结果进行解释。
Lift(提升度): P(L,R)/(P(L)P(R)) Lift=1时表示L和R独立。这个数越大,越表明L和R存在在一个购物篮中不是偶然现
显示全部