数据挖掘实验三报告.docx
文本预览下载声明
实验三:基于 Weka 进行关联规则挖掘实验步骤 利用Weka对数据集contact-lenses.arff进行Apriori关联规则挖掘。要求: 描述数据集;解释 Apriori 算法及流程;解释 Weka 中有关 Apriori 的参数; 解释输出结果 Apriori 算法:发现频繁项集,过程为扫描计数比较产生频繁项集连接、剪枝,产生候选项集 重复步骤(1)~(5)直到不能发现更大的频集产生关联规则(1)对于每个频繁项集L,产生L的所有非空子集;(2)对于L的每个非空子集S,如果 P(L)/P(S)≧min_conf(最小置信度阈值)则输出规则“S=L-S”Weka 中有关 Apriori 的参数: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 如果设置为真,则算法会以冗余模式运行。对数据集contact-lenses.arff进行Apriori关联规则挖掘的结果:由输出:共进行16轮搜索,生成11个频繁1项集,21个频繁2项集,6个频繁3项集;产生10条(设置的)关联规则;如第一条规则,tear-prod-rate=reduced ==contact-lenses=none 的置信度为1,即在tear-prod-rate=reduced 的条件下,contact-lenses=none的概率为1;根据 CarInfo.txt 和 CarInfo Description.txt 两个文件将 CarInfo.txt 转换成CarInfo.arff 文件,并进行 Apriori 关联规则挖掘。要求同 1 将txt文件数据复制到excel中并保存为CSV格式,在weka中打开CSV文件,并保存为arff文件即可。其他同1;解释 FPGrowth 算法;解释 Weka 中关于 FPGrowth 算法的参数;比较 FPGrowth 和 Apriori 算法的区别FPGrowth 算法:1、 构造项头表:扫描数据库一遍,得到频繁项的集合F和每个频繁项的支持度。把F按支持度递降排序,记为L。2、 构造原始FPTree:把数据库中每个事物的频繁项按照L中的顺序进行重排。并按照重排之后的顺序把每个事物的每个频繁项插入以null为根的FPTree中。如果插入时频繁项节点已经存在了,则把该频繁项节点支持度加1;如果该节点不存在,则创建支持度为1的节点,并把该节点链接到项头表中。3、对FP树挖掘:由长度为1的叶子节点开始,构造它的条件模式基,然后构造它的条件FP树,并递归的在该树上进行挖掘,模式增长通过后缀模式与条件FP树昌盛的频繁模式连接实现。FPGrowth 算法的参数:delta:以此数值为迭代递减单位。不断减小支持度直至达到最小支持度或产生了满足数量要求的规则。findAllRulesForSupportLevel:查找满足最小支持下限和最小度量约束的所有规则。 打开此模式将禁用迭代支持减少过程,以查找指定数量的规则。lowerBoundMinSu
显示全部