2.4.2 Apriori算法的基本原理
Apriori算法是一种典型的规则挖掘算法,通过挖掘布尔关联规则频繁项集挖掘数据。它的基本原理如下:
(1)通过事物数据库得到大一项集L1 。若L1为非空的,则由L1产生长度为2的候选项集合C2;
(2)对事务数据库中的每一个事务t,求出t在C2中的全部子集C t,对于C t中的每一个长度为2的候选项集 进行加1操作。
(3)完成一次事务数据库的扫描,筛选出C2中满足最小支持度的项集组成了长度为2的频繁项集合。
(4)重复以上步骤,处理新得到的频繁项集合,直到不再产生频繁项集合为止。
分析上述算法可知,在第K次循环中产生候选K-项集的集合 中的项集是用来产生频集的候选集,最后的频集 必须是 的一个子集。 中的每个元素需在交易数据库中进行验证来决定其是否加入 ,这里的验证过程是算法性能的一个瓶颈。这个算法执行过程可能产生大量的候选集,还有可能需要重复扫描数据库,这是Apriori算法的主要缺点[9]。
2.4.3关联规则挖掘的应用
关联规则的应用非常普遍,因为其不受只能选择一个因变量的限制,能够在大型数据库中发现数据关系。下面通过一个例子利用Apriori算法说明关联规则的应用。设T = {T100,T200,T300,T400}, I = {A, B, C, D, E}, min-sup= 50﹪。则C1={{A},{B},{C},{D},{E}},第一次循环产生L1= {{A},{B},{C},{D},{E}},由Apriori-Gen(L1)生成C2,扫描数据库,计算C2中每个候选集得到L2。依此循环,得到L3。
事物数据库T如下表:
表1 事物数据库T
TID 100 200 300 400
属性集 ACD BCE ABCE BE
具体步骤如下:
Step1:扫描T,对每个候选计数。计算所有的候选1-项集的集合C1
表2 候选1-项集
属性集 {A} {B} {C} {D} {E}
支持数 2 3 3 1 3
假设支持度为50%,产生所有的频繁1-项集 。
表3 频繁1-项集
属性集 {A} {B} {C} {E}
支持数 2 3 3 3
Step2:由 产生候选集 。
表4 候选2-项集
属性集 {AB} {AC} {AE} {BC} {BE} {CE}
支持数 1 2 1 2 3 2
由 产生 。
表5 频繁2-项集
属性集 {AC} {BC} {BE} {CE}
支持数 2 2 3 2
Step3:由 产生候选集 。
表6 候选3-项集
属性集 {BCE}
支持数 2
由 产生 ,由于 中所有的支持数都是2,故都在 中。
表7 频繁3-项集
属性集 {BCE}
支持数 2
Step4:至此求出了所有的频繁项集。
3.模糊关联规则及相关概念
3.1 模糊关联规则理论基础
模糊关联规则基于数据挖掘和关联规则中的知识发现,以模糊理论为依据,而模糊理论是基于模糊集合基础,用来描述和处理人类语言特有的模糊信息理论,其主要包括模糊集合、模糊运算、隶属度函数和模糊关系等[10]。
自然或社会科学研究中,有很多定义不严格或有模糊性的概念。“模糊性”所描述的现象或概念本身是模糊不清的,一个对象是否符合一个模糊概念不能明确判定。如白纸上的一滴墨迹,由于墨水外渗,墨痕边缘不清,要判有位置是否被墨痕覆盖,还是没有被覆盖都不可能,它只能用种“可能性”(如用[0,1]间某个数)来描述该位置,墨痕中的点“可能性”最大(如是1),绝不是墨痕中的点的可能性最小(如是0),而边缘的点“可能性”介在其间。因此用“可能性”而不是“概率”来度量模糊性。 模糊关联规则及其应用研究(4):http://www.751com.cn/zidonghua/lunwen_2587.html