发现频繁项集是挖掘关联规则的基础。Apriori算法通过限制候选产生发现频繁项集,FP-growth算法发现频繁模式而不产生候选
1:Apriori算法
Apriori算法是Agrawal和Srikant于1994年提出,是布尔关联规则挖掘频繁项集的原创性算法,通过限制候选产生发现频繁项集。Apriori算法使用一种称为逐层搜索的迭代方法,其中k项集用于探索(k+1)项集。具体过程描述如下:首先扫描数据库,累计每个项的计数,并收集满足最小支持度的项找出频繁1项集记为L1。然后使用L1找出频繁2项集的集合L2,使用L2找出L3,迭代直到无法再找到频繁k项集为止。找出每个Lk需要一次完整的数据库扫描
Apriori算法使用一种称为先验性质的特性进行搜索空间的压缩,即频繁项集的所有非空子集也一定是频繁的
Apriori算法产生k项频繁集的过程主要包括连接和剪枝两步
(2)剪枝
Ck是Lk的超集,Ck的成员不一定全部是频繁的,但所有频繁的k项集都包含在Ck中。为了减少计算量,可以使用Apriori性质,即如果一个k项集的(k-1)子集不在Lk-1中,则该候选不可能是频繁的,可以直接从Ck删除。这种子集测试可以使用所有频繁项集的散列树快速完成
下面是产生关联规则实例 数据集如