基本概念
首先要理解这些名词的概念:项集、支持度、置信度、最小支持度、最小置信度、频繁项集
项集: 即项的集合。
eg:牛奶、面包组成一个集合{牛奶、面包},其中牛奶、面包为项,{牛奶、面包}为项集,称之为2项集。
k-项集: 项集的元素个数称为项集长度,长度为k的项集称为k-项集。
总项集: 所有元素构成的集合。
该总项集是{牛奶,面包,尿布,啤酒,鸡蛋,可乐}
支持度: 项集A、B同时发生的概率称之为关联规则的支持度。–>p(AB)
例:support({尿布} ⇒{啤酒}) = 啤酒和尿布同时出现的次数/数据记录数 = 3/5=60%。
置信度: 项集A发生的情况下,则项集B发生的概率为关联规则的置信度。–>条件概率P(B)/P(A)
confidence({尿布}–>{啤酒}) = 啤酒和尿布同时出现的次数/尿布出现的次数 = 3/4 = 75%。
最小支持度: 最小支持度就是人为按照实际意义规定的阈值,表示项集在统计意义上的最低重要性。
最小置信度: 最小置信度也是人为按照实际意义规定的阈值,表示关联规则最低可靠性。
如果支持度与置信度同时达到最小支持度与最小置信度,则此关联规则为强规则。
频繁项集: 满足最小支持度的所有项集,称作频繁项集。
频繁项集性质:
1、频繁项集的所有非空子集也为频繁项集;
2、若A项集不是频繁项集,则其他项集或事务与A项集的并集也不是频繁项集
强关联规则: 既满足最小支持度,又满足最低置信度的关联规则称作强关联规则
Apriori算法步骤
- 第一步–>找出所有频繁项集,即支持度不低于用户设定的阈值的项集;
- 第二步–>利用频繁项集构造出满足用户最小信任度的规则。
具体做法:
- 首先找出频繁1-项集,记为L1;
- 然后利用L1来产生候选项集C2,对C2中的项进行判定挖掘出频繁2-项集
- 不断循环,直到没有发现更多的频繁k-项集为止
参考:https://wizardforcel.gitbooks.io/dm-algo-top10/content/apriori.html