首页 理论教育 挖掘多层关联规则:方法与应用

挖掘多层关联规则:方法与应用

时间:2023-06-24 理论教育 版权反馈
【摘要】:涉及不同抽象层的项(或属性)的规则称为多层关联规则。图3-11层交叉按单项过滤如果根据其对应的祖先规则,他们的支持度和置信度接近于期望值,那么冗余的多层(后代)关联规则可以删除,不向用户提供。多层关联规则发现不同抽象层间的关联知识,然而这些项间可能存在“祖先”关系,会产生冗余的关联规则,挖掘过程需检查并删除出这些冗余规则。

挖掘多层关联规则:方法与应用

涉及不同抽象层的项(或属性)的规则称为多层关联规则。多层关联规则涉及多个抽象层中的项,根据规则中涉及的层次,分为同层关联规则和层间关联规则。同层关联规则是指所涉及的项处于同一概念层(图3-1)的关联规则,这类关联规则的挖掘是在特定概念层上逐层展开的,需要对项的每个层次进行处理,对各层处理时,算法的核心步骤类似于单层关联规则挖掘算法;而层间关联规则不限于某一预先安排的特定概念层,不需要严格逐层展开,是更合乎实际需求的灵活的关联规则。

多层关联规则的挖掘采用自顶向下的策略,由概念层1开始向下,到较低的更特定的概念层,对每个概念层的频繁项集累加计数,直到不能再找到频繁项集。即一旦找出概念层1的所有频繁项集,就开始在第2层找频繁项集,如此下去,对于每一层,可以使用频繁项集挖掘的各种算法,如Apriori或它的变形。由于底层的项通常支持度更低,因此在支持度设置的问题上需要新的处理策略。

同层关联规则可以根据每个抽象层上的最小支持度阈值的定义,使用多种策略挖掘:

(1)统一的最小支持度。对于不同的层次,使用一致的最小支持度,用户只需指定一个最小支持度阈值,对于用户和算法实现都比较容易(图3-8)。

图3-8 统一的最小支持度

这种方法也存在不足:较低层次抽象的项不大可能像较高层次抽象的项出现得那么频繁。如果最小支持度阈值设置太高,可能丢掉出现在较低抽象层中有意义的关联规则;如果阈值设得太低,可能会产生出现在较高抽象层的无兴趣的关联规则。

(2)递减的最小支持度。每个抽象层有它自己的最小支持度阈值,抽象层越低,对应的阈值越小,同时还可以利用上层挖掘得到的信息进行一些过滤的工作(3-9)。

这种递减支持度的同层关联规则的挖掘有以下几种常用搜索策略:

①逐层独立:这是完全的宽度搜索,考察每个节点,不管它的父节点是否是频繁的。该策略条件简单,但可能导致在低层考察大量非频繁的项,找出并不太重要的关联。

图3-9 递减的最小支持度

②层交叉按k-项集过滤:一个第i层的k-项集被考察,当且仅当它在第(i—1)层的对应父节点k-项集是频繁的。该策略仅考察频繁k-项集的子女的限制太强,因为一般说来k-项集组合后仍是频繁的情况不多,因此,有价值的模式可能被其过滤掉(图3-10)。

图3-10 层交叉按k-项集过滤

③层交叉按单项过滤:如果一个节点是频繁的,那么他的子女将被考察;否则,他的子孙将由搜索中剪枝。该策略是上述两个策略的折中。但也存在一些问题:因为是递减支持度,所以可能存在一些低层项是频繁的,但其祖先却是非频繁的(由于祖先层的最小支持度阈值不同),因此将丢失低层项之间的关联。

同层关联规则的所有项都属于同一概念层,对于跨越概念层边界的层间关联规则的挖掘,在考虑最小支持度的时候,应当根据较低的抽象层的最小支持度阈值来决定,使得较低抽象层可以包含在分析中。

多层关联规则发现不同抽象层间的关联知识,然而这些项间可能存在“祖先”关系,会产生冗余的关联规则,挖掘过程需检查并删除出这些冗余规则。删除策略如图3-11所示。

(www.xing528.com)

图3-11 层交叉按单项过滤

如果根据其对应的祖先规则,他们的支持度和置信度接近于期望值,那么冗余的多层(后代)关联规则可以删除,不向用户提供。

例如:“篮球“Nike篮球服”[support=8%, confidence=70%]

“Adidas篮球”“Nike篮球服” [support=2% ,confidence=72 %]

假定第一个规则具有70%的置信度,8%的支持度,且大约四分之一的“篮球”销售是“Adidas篮球”,那么第二个规则并没有提供新的信息,由于“篮球”是“Adidas篮球”的祖先,即所有“Adidas篮球”的样本也是“篮球”的样本,因此第二个规则应该具有大约70%的置信度和2%(8%×1/4)的支持度,在此假定条件下,第二个规则不是有趣的,因为它不提供附加的信息,它的一般性也不如第一个规则。

多层关联规则挖掘的一般算法有ML_T2L1, ML_T1LA, ML_THL1, ML_T2LA等。下面用一个例子说明多层关联规则挖掘方法的过程,具体的算法请读者参见相关文献

例3.8:如图3-1所示,概念分层(省略了更多层次)。

使用层次信息对交易数据库中的交易表进行编码,替换原始交易数据表,编码方法如:项“Nike篮球”编码为“112”,第一个“ 1”表示在层1的“球类”,第二个“1”表示在层2的“篮球”,第三个“2”表示在层3的品牌“Nike”,以此类推,如表3-5所示。

表3-5 编码交易表

表3-6 最后结果各层项集

设min_sup[1]=4, min_sup[2]= 3( 简单起见,最小支持度用交易个数表示,而非百分比形式),用L[x,y]表示第x层的频繁x-项集,如L[3,2]表示第三层的频繁2-项集。

步骤如下:

第1层频繁项集:

L[1,1](第一层频繁1-项集)如表2-5b所示,过滤非频繁项,得到T[2];进行自连接和剪枝,得到候选项集,并计算支持度后得到L[1,2](第一层频繁2-项集)、L[1,3](第一层频繁3-项集)如表3-5d、表3-5e所示。

与此类似,第二层频繁项集如表3-5f、表3-5g、表3-5h所示,第三层频繁项集如表3-5i、表3-5j、表3-5k所示。

得到各层的各频繁项集(表3-6)后,再计算置信度,由频繁项集生成满足最小置信度阈值的多层关联规则。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈