1 引用作用度的Apriori_lift算法
1.1 作用度
作用度是采用相关分析描述规则内在价值的度量,它描述的是项集X对Y的影响力的大小。作用度越高表示X的出现对Y出现的可能性影响越大,作用度度量的是X与Y之间蕴涵的实际强度。
作用度表示为:
1.2 Aprior=>lift算法的描述
第一步:大项集的生成;
第二步:采用作用度找出强关联规则。
使用第一步找到的所有频繁项集产生期望的规则。为了获取强有效关联规则,在使用信任度的基础上增加作用度计算来度量规则的有效性。具体描述过程如下:
(1)对于每个频繁K(K≥2)项集L,产生L的所有非空子集S;
(2)对于项集L的每个非空子集S,规则:
如果lift[S=>(L-S)]>1,则规则“S=>(L-S)”是强有效关联规则,输出。
2 算法性能比较
在局域网环境中(如图1所示)捕获网络数据包2 000个,分别采用Apriori,Apriori_lift算法挖掘,其挖掘过程及结果如下:
表3是实验采用的两个数据集Tcppro,Udppro。
表4是二种算法在不同支持度(Supp)信任度(Conf)下的挖掘结果统计。
由表4可知,在相同的作用度与支持度的情况下,Apriori,Apriori_lift算法挖掘得到的规则逐渐递减;在不同的作用度与支持度情况下,参数值越低挖掘出的规则越多,这主要体现在Apriori算法的挖掘上,而对于Apriori_lift算法当参数值达到一定阈值时,改变参数值对其挖掘结果影响不大,改善了挖掘规则遗漏的情况。
由表4可以看出,Apriori算法和Apriori_lift算法的运行时间随挖掘规则变化的比较情况。Apriori算法随着挖掘结果中规则数的增长,时间上有数量级的提高,而Apriori_lift随着时间的增长,其挖掘出的规则数量增幅不大。而Apriori_lift存在额外的作用度比较的开销,在高支持度时,由于要处理的频繁项目及模式数目都较少,此时从挖掘结果上看Apriori_lift表现了比Apriori更好的性能。