文章目录
一、关联规则
关联规则分析也成为购物篮分析,最早是为了发现超市销售数据库中不同的商品之间的关联关系。例如一个超市的经理想要更多地了解顾客的购物习惯,比如“哪组商品可能会在一次购物中同时购买?”或者“某顾客购买了个人电脑,那该顾客三个月后购买数码相机的概率有多大?”他可能会发现如果购买了面包的顾客同时非常有可能会购买牛奶,这就导出了一条关联规则“面包=>牛奶”,其中面包称为规则的前项,而牛奶称为后项。通过对面包降低售价进行促销,而适当提高牛奶的售价,关联销售出的牛奶就有可能增加超市整体的利润。
关联规则分析是数据挖掘中最活跃的研究方法之一,目的是在一个数据集中找出各项之间的关联关系,而这种关系并没有在数据中直接表示出来。
1.1 常用的关联规则算法
1.2 Apriori算法介绍
以超市销售数据为例,提取关联规则的最大困难在于当存在很多商品时,可能的商品的组合(规则的前项与后项)的数目会达到一种令人望而却步的程度。因而各种关联规则分析的算法从不同方面入手减小可能的搜索空间的大小以及减小扫描数据的次数。
Apriori算法是最经典的挖掘频繁项集的算法,第一次实现了在大数据集上可行的关联规则提取,其核心思想是通过连接产生候选项与其支持度然后通过剪枝生成频繁项集。
1.2.1 关联规则与频繁项集
(1)关联规则的一般形式
项集A、B同时发生的概率称为关联规则的支持度:
S u p p o r t ( A − > B ) = P ( A ∪ B ) Support(A->B) = P(A∪B) Support(A−>B)=P(A∪B)
项集A发生,则项集B也同时发生的概率为关联规则的置信度:
C o n f i d e n c e ( A − > B ) = P ( B ∣ A ) Confidence(A->B)=P(B|A) Confidence(A−>B)=P(B∣A)
(2)最小支持度和最小置信度
最小支持度是用户或专家定义的衡量支持度的一个阈值,表示项目集在统计意义上的最低重要性;
最小置信度是用户或专家定义的衡量置信度的一个阈值,表示关联规则的最低可靠性。同时满足最小支持度阈值和最小置信度阈值的规则称作强规则
。
(3)项集
项集是项的集合。包含 k 个项的项集称为 k 项集,如集合{牛奶,麦片,糖}是一个3项集。
项集的出现频率是所有包含项集的事务计数,又称作绝对支持度或支持度计数。如果项集 I 的相对支持度满足预定义的最小支持度阈值,则 I 是频繁项集。频繁k项集通常记作 L k L_k Lk 。
(4)支持度计数
项集A的支持度计数是事务数据集中包含项集 A 的事务个数。
已知项集的支持度计数,则规则 A − > B A->B A−>B的支持度和置信度很容易从所有事务计数、项集A和项集 A ∪ B A∪B A∪B 的支持度计数推出:
S u p p o r t ( A − > B ) = A , B 同时发生的事务个数 所有事务个数 = θ ( A ∪ B ) N Support(A->B)=\frac{A,B同时发生的事务个数}{所有事务个数}=\frac{\theta(A∪B)}{N} Support(A−>B)=所有事务个数A,B同时发生的事务个数=Nθ(A∪B)
C o n f i d e n c e ( A − > B ) = P ( A ∣ B ) = θ ( A ∪ B ) θ ( A ) Confidence(A->B)=P(A|B)=\frac{\theta(A∪B)}{\theta(A)} Confid