关联规则是研究不同类型的物品相互之间关联关系的规则,它最早是针对沃尔玛超市的购物数据分析诞生的,可以用来指导超市进行购销安排。之后应用于其他领域,例如医学病例的共同特征挖掘以及网络入侵检测等,都可以使用关联规则进行处理。
1.Apriori频繁项集算法
Apriori算法是由两部分组成,即A和priori组合而成。含义是指每一项的计算是在前面项的基础上计算得到,即需要一个先验计数。
Apriori算法“是一种挖掘关联规则的频繁项集算法,其核心思想是通过候选集生成和情节的向下封闭检测两个阶段来挖掘频繁项集,而且算法已经被广泛地应用到商业、网络安全等各个领域。”
1)啤酒与尿布
“啤酒与尿布”是一个神奇的故事。20世纪沃尔玛超市的营销人员在对商品销售情况进行统计的时候发现,在某些特定的日子,“啤酒”和“尿布”这两样看起来没有任何相关性的商品会经常性地出现在同一份购物清单上
2. FP-growth算法
Apriori算法的局限性:
第一问题就是会产生较多的小频繁项,小频繁项集过多使得数据在进行计算处理的时候效率极大地降低,从而使得复杂度以指数形式增长,降低了Apriori整体效率。
第二问题是由于频繁项集的处理需要多次扫描原样本数据库,而一般情况下IO的处理需要消耗大量的处理时间,从而算法在计算的过程中
基于以上Apriori算法的不足,一个新的关联算法被提出,即FP树算法(FP-Growth)。这个算法试图解决多次扫描数据库从而带来的大量小频繁项集的问题。这个算法在理论上只对数据库进行两次扫描,直接压缩数据库生成一个频繁模式树从而形成关联规则。
FP树是一个较Apriori算法而言更为轻量级算法,在求解和复杂度分析方面有着极大的优势,但是同样对于大数据而言,它的空间复杂度和时间复杂度依然较高,这点需要相关使用人员注意。