近来小看关联分析的Apriori算法,参考《数据挖掘:概念与技术3rd》,作此篇。
1. 基础概念
-支持度(Support):support( A => B ) = P(A U B)
-置信度(Confidence): confidence(A => B ) = P( B | A )
-项集(itemset) : 包含K个项的项集成为K项集
-频繁项集(frequent itemset) : 如果项集 I 满足最小支持度阈值, 则 I 是频繁项集
2. 算法简介
2.1 简介
Apriori算法使用频繁项集的先验知识,使用一种称作逐层搜索的迭代方法,k项集用于探索(k+1)项集。
首先,通过扫描事务记录,找出所有的频繁1项集,记做L1,利用L1找频繁2项集L2,使用L2找L3,如此下去,直到不能再找到任何频繁k项集。
为了提高频繁项集逐层产生的效率,一种称为先验性质(Apriori property)的重要性质用于压缩搜索空间.
先验性质:频繁项集的所有非空子集也一定是频繁的.
2.2 流程
考察使用Lk-1找出Lk,主要有连接步和剪枝步:
(1)连接步: 为了找出Lk, 通过将Lk-1与自身连接产生候选K项集的集合, 记为Ck. 记li[j]表示li