概要
FP的全称是Frequent Pattern,在算法中使用了一种称为频繁模式树(Frequent Pattern Tree)的数据结构。FP-tree是一种特殊的前缀树,由频繁项头表和项前缀树构成。FP-Growth算法基于以上的结构加快整个挖掘过程。
Aprior
Apriori算法是常用的用于挖掘出数据关联规则的算法,它用来找出数据值中频繁出现的数据集合,找出这些集合的模式有助于我们做一些决策。比如在常见的超市购物数据集,或者电商的网购数据集中,如果我们找到了频繁出现的数据集,那么对于超市,我们可以优化产品的位置摆放,对于电商,我们可以优化商品所在的仓库位置,达到节约成本,增加经济效益的目的。
和Apriori比较
- 通过构造FP树和项头表来存频繁项集
- 整个过程只遍历数据2次
关键概念
置信度
条件概率,置信度(A->B) 在A出现的条件下B发生的概率
支持度
某个组合出现的概率(出现的次数/总的次数)
提升度
提升度(A->B) = 置信度(A->B)/支持度(B) = P(B|A) /p(B) = P(AB)/(P(A)*P(B))
A的出现对B发生的概率有多大的提升 (B发生的所有条件里 A发生导致B发生 所占的比例)
提升度 (A→B)>1:代表有提升;
提升度 (A→B)=1:代表有没有提升,也没有下降;
提升度 (A→B)<1:代表有下降。
导演最爱用的演员
val dataset = spark.createDataset(Seq(
"郭涛,刘桦,连晋,黄渤,徐峥,优恵,罗兰,王迅",
"徐峥,黄渤,余男,多布杰,王双宝,巴多,杨新鸣,郭虹",
"黄渤,沈腾,汤姆·派福瑞,马修·莫里森,徐峥