频繁模式(frequent pattern)
频繁模式一般是指频繁地出现在数据集中的模式。这种频繁模式和关联规则是数据挖掘中想要挖掘的知识。
- 我们都知道一个很有趣的故事,就是啤酒和尿布的故事,在某些特定的情况下,“啤酒”与“尿布”两件看上去毫无关系的商品,会经常出现在同一个购物篮中,且大多出现在年轻的父亲身上。
- 分析背后原因是,在美国有婴儿的家庭中,一般是母亲在家中照看婴儿,年轻的父亲去超市买尿布。父亲在购买尿布的同时,往往会顺便为自己购买啤酒。
- 由此,沃尔玛就在卖场尝试将啤酒与尿布摆放在相同区域,让年轻的父亲可以同时找到这两件商品,并很快地完成购物,从而极大提升商品销售收入。
数据挖掘就是想要挖掘出这种有趣的模式,可以称做频繁模式和关联规则的挖掘,一般情况下使用支持度(support)和置信度(confidence)来表示关联的程度,领域的专家设置最小支持度和最小置信度阈值,如果某个模式大于最小支持度和最小置信度,就认为是频繁模式。
一般常用的有两种算法:
- Apriori
- Fp-tree
在介绍这两个算法之前需要给出一些定义:
- A=>B的支持度:
(1) s u p p o r t ( A = > B ) = p ( A ∪ B ) support(A=>B)=p(A\cup B) \tag{1} support(A=>B)=p(A∪B)(1) - A=>B的置信度:
(2) c o n f i d e n c e ( A = > B ) = P ( B ∣ A ) = s u p p o r t ( A ∪ B ) s u p o o r t ( A ) = s u p p o r t c o u n t ( A ∪ B ) s u p o o r t c o u n t ( A ) confidence(A=>B)=P(B|A) =\frac{support(A \cup B)}{supoort(A)}=\frac{support_count(A \cup B)}{supoort_count(A)} \tag{2} confidence(A=>B)=P(B∣A)=supoort(A)sup