数据挖掘算法——Apriori

    在上一篇 数据挖掘入门算法整理 中提到, Apriori算法是 关联规则算法中使用最为普遍的算法,此次咱们就来学习下该算法的基本知识。

1、算法概述

    Apriori 算法是一种最有影响力的挖掘布尔关联规则的频繁项集的 算法,它是由Rakesh Agrawal 和RamakrishnanSkrikant 提出的。它使用一种称做逐层搜索的迭代方法,k- 项集用于探索(k+1)- 项集。首先,找出频繁 1- 项集的集合。该集合记做L1。L1 用于找频繁2- 项集的集合 L2,而L2 用于找L2,如此下去,直到不能找到 k- 项集。每找一个 Lk 须要一次数据库扫描。为提升频繁项集逐层产生的效率,一种称做Apriori 性质的重 要性质 用于压缩搜索空间。其运行定理在于一是频繁项集的全部非空子集都必须也是频繁的,二是非频繁项集的全部父集都是非频繁的

2、应用场景

     Apriori算法应用普遍,可用于消费市场价格分析,猜想顾客的消费习惯;网络安全领域中的入侵检测技术;可用在用于高校管理中,根据挖掘规则能够有效地辅助学校管理部门有针对性的开展贫困助学工做;也可用在移动通讯领域中,指导运营商的业务运营和辅助业务提供商的决策制定。
3、基本概念
    Apriori算法最重要的两个概念为支持度(support)和置信度(confidence):
  • 支持度:support({A,B})=P(AB),即事件A、B同时发生的几率
  • 置信度:confidence(A=>B)=support({A,B})/support({A}),即在A发生的事件中同时发生B的几率,计算中A到B的置信度即为{A,B}的支持度/{A}的支持度。
  • 最小置信度:预约值,通常由屡次尝试算法结果得出,用来排除每次候选集中的元素,已获得下一层的频繁项集。
  • 最小置信度,预设值,用来判断置信度
  • 强规则:同时知足最小支持度和最小置信度的规则称为强规则

3、实现原理

    算法分为两个阶段:计算各层支持度根据支持度计算置信度。这里直接经过一个例子来讲明,初始集合有5条记录,根据条记录中的商品组合,咱们能够逐级算出每一层的支持度,计算过程以下图:

支持度计算过程 html

    能够看到,最终能够获得3层支持度:L1,L2,L3,接下来,咱们能够直接经过支持度计算各层的置信度,这里咱们以L3为例:

算法


置信度计算过程

    置信度计算比较简单,就是根据K层集合中K-1个元素到另一个元素的置信度,直接套用上边公式便可。这里咱们其实能够得出规则,当BC或CE出现的时候,E或B必然出现。固然,这里只是个简单的例子,实际中必需要有足够的样本,结果才更可靠。
数据库

4、结语

    从上边看Apriori算法基本原理仍是比较简单的,可是实际过程当中若是按照这样来计算,对于N个商品会有2^N−1个组合,但N稍大点计算量就很是大了,因此实际算法实现中,要利用开头提到Apriori算法的性质进行剪枝,以减小计算量。此外,关联规则算法还有FP-Growth和Eclat等更为高效的算法,这里再也不介绍,可自行了解。
    参考: Apriori算法详解使用Apriori算法和FP-growth算法进行关联分析
安全

相关文章
相关标签/搜索