关联规则算法的思想就是找频繁项集,通过频繁项集找强关联。
介绍下基本概念:
对于A->B
1、置信度:P(B|A),在A发生的事件中同时发生B的概率 p(AB)/P(A) 例如购物篮分析:牛奶 ⇒ 面包
2、支持度:P(A ∩ B),既有A又有B的概率
假如支持度:3%,置信度:40%
支持度3%:意味着3%顾客同时购买牛奶和面包
置信度40%:意味着购买牛奶的顾客40%也购买面包
3、如果事件A中包含k个元素,那么称这个事件A为k项集事件A满足最小支持度阈值的事件称为频繁k项集。
4、同时满足最小支持度阈值和最小置信度阈值的规则称为强规则
apriori算法的思想
(得出的的强规则要满足给定的最小支持度和最小置信度)
apriori算法的思想是通过k-1项集来推k项集。首先,找出频繁“1项集”的集合,该集合记作L1。L1用于找频繁“2项集”的集合L2,而L2用于找L3。如此下去,直到不能找到“K项集”。找每个Lk都需要一次数据库扫描(这也是它最大的缺点)。
核心思想是:连接步和剪枝步。连接步是自连接,原则是保证前k-2项相同,并按照字典顺序连接。剪枝步,是使任一频繁项集的所有非空子集也必须是频繁的。 反之,如果某个候选的非空子集不是频繁的,那么该候选肯定不是频繁的,从而可以将其从CK(频繁项集)中删除。
下面一个比较经典的例子来说明apriori算法的执行步骤:
上面只计算了频繁项集的支持度,没有计算它的置信度。
基本概念
1. 项与项集
这是一个集合的概念,在一篮子商品中的一件消费品即一项(item),则若干项的集合为项集,如{啤酒,尿布}构成一个二元项集。
2、关联规则
关联规则用亍表示数据内隐含的关联性,例如表示购买了尿布的消费者往往也会购买啤酒。关联性强度如何,由3 个概念,即支持度、置信度、提升度来控制和评价。
3、支持度(support)
支持度是指在所有项集中{X, Y}出现的可能性,即项集中同时含有X 和Y 的概率:
设定最小阈值为5%,由亍{尿布,啤酒}的支持度为800/10000=8%,满足最小阈值要求,成为频繁项集,保留规则;而{尿布,面包}的支持度为100/10000=1%,则被剔除。
4、��信度(confidence)
置信度表示在先决条件X 发生的条件下,关联结果Y 发生的概率:这是生成强关联规则的第二个门槛,衡量了所考察的关联规则在“质”上