如果有一个物品集
A,一个事务T,关联规则是例如以下形式的一种蕴含:A→B,当中A、B
定义:设W中支持物品集A的事务中。有c
通俗解释:简单地说,可信度就是指在出现了物品集A
实例说明:上面所举的圆珠笔和笔记本的样例。该关联规则的可信度就回答了这样一个问题:假设一个顾客购买了圆珠笔,那么他也购买笔记本的可能性有多大呢?在上述样例中,购买圆珠笔的顾客中有65%的人购买了笔记本,
概率描写叙述:物品集A对物品集B的置信度confidence(A==>B)=P(A|B)
定义:设W
支持度描写叙述了A
通俗解释:简单地说。A==>B的支持度就是指物品集A和物品集B同一时候出现的概率。
实例说明:某天共同拥有1000 个顾客到商场购买物品,当中有150个顾客同一时候购买了圆珠笔和笔记本,那么上述的关联规则的支持度就是15%。
概率描写叙述:物品集A对物品集B的支持度support(A==>B)=P(A n B)
定义:设W
通俗解释:期望可信度描写叙述了在没有不论什么条件影响时,物品集B
实例说明:假设某天共同拥有1000
概率描写叙述:物品集A对物品集B的期望置信度为support(B)=P(B)
定义:提升度是可信度与期望可信度的比值
通俗解释:提升度反映了“物品集A的出现”对物品集B的出现概率发生了多大的变化。
实例说明:上述的关联规则的提升度=65%/25%=2.6
概率描写叙述:物品集A对物品集B的期望置信度为lift(A==>B)=confidence(A==>B)/support(B)=p(B|A)/p(B)
总之,可信度是对关联规则的精确度的衡量,支持度是对关联规则重要性的衡量。支持度说明了这条规则在全部事务中有多大的代表性。显然支持度越大,关联规则越重要。
有些关联规则可信度尽管非常高,但支持度却非常低。说明该关联规则有用的机会非常小,因此也不重要。
在关联规则挖掘中。满足一定最小置信度以及支持度的集合成为频繁集(frequent itemset),或者强关联。关联规则挖掘则是一个寻找频繁集的过程。
关联规则挖掘的相关算法
1.Apriori算法:使用候选项集找频繁项集
Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于两阶段频集思想的递推算法。该关联规则在分类上属于单维、单层、布尔关联规则。在这里。全部支持度大于最小支持度的项集称为频繁项集,简称频集。
该算法的基本思想是:首先找出全部的频集,这些项集出现的频繁性至少和提前定义的最小支持度一样。然后由频集产生强关联规则,这些规则必须满足最小支持度和最小可信度。然后使用第1步找到的频集产生期望的规则。产生仅仅包括集合的项的全部规则,当中每一条规则的右部仅仅有一项。这里採用的是中规则的定义。一旦这些规则被生成。那么仅仅有那些大于用户给定的最小可信度的规则才被留下来。
为了生成全部频集,使用了递推的方法。
可能产生大量的候选集,以及可能须要反复扫描数据库,是Apriori算法的两大缺点。
2.基于划分的算法
Savasere等设计了一个基于划分的算法。这个算法先把数据库从逻辑上分成几个互不相交的块,每次单独考虑一个分块并对它生成全部的频集。然后把产生的频集合并。用来生成全部可能的频集,最后计算这些项集的支持度。这里分块的大小选择要使得每一个分块能够被放入主存,每一个阶段仅仅需被扫描一次。而算法的正确性是由每一个可能的频集至少在某一个分块中是频集保证的。该算法是能够高度并行的,能够把每一分块分别分配给某一个处理器生成频集。产生频集的每一个循环结束后。处理器之间进行通信来产生全局的候选k-项集。通常这里的通信过程是算法运行时间的主要瓶颈;而还有一方面,每一个独立的处理器生成频集的时间也是一个瓶颈。
3.FP-树频集算法
针对Apriori算法的固有缺陷,J. Han等提出了不产生候选挖掘频繁项集的方法:FP-树频集算法。
採用分而治之的策略。在经过第一遍扫描之后,把数据库中的频集压缩进一棵频繁模式树(FP-tree),同一时候依旧保留当中的关联信息,随后再将FP-tree分化成一些条件库,每一个库和一个长度为1的频集相关,然后再对这些条件库分别进行挖掘。
当原始数据量非常大的时候,也能够结合划分的方法,使得一个FP-tree能够放入主存中。实验表明,FP-growth对不同长度的规则都有非常好的适应性。同一时候在效率上较之Apriori算法有巨大的提高。