一、前置知识
在了解关联规则之前首先了解一些相关概念,包含项集、频繁项集、支持度、置信度、提升度等基础概念。假如我们在经营一家商品超市,顾客进行购买商品的订单信息如下:
TID | Items |
T1 | {耳机,背包} |
T2 | {背包,手机,手表,鞋子} |
T3 | {耳机,手机,手表,相机} |
T4 | {背包,耳机,手机,手表} |
T5 | {背包,耳机,手机,相机} |
-- TID是交易编号,表示一次购物交易的唯一标识,即用户购买的一次记录。
-- Items表示一次购买记录中顾客购买的商品如{耳机,背包}
1.项集
项的集合,包含k个项的项集称为k项集,例如上面 {耳机,背包} 是2项集。
2.支持度
表示物品A和物品B同时出现的次数在总的交易次数中的占比,例如 A表示手机,B表示手表,手机和手表同时出现的次数是3次,总的交易记录是5次,则支持度=3/5=60%。
公式如下:
support(X→Y)=|X交Y|/N,表示物品集X和Y同时出现的次数占总记录数的比例。
3.置信度
表示物品A和物品B同时出现的总次数 / 物品A出现的总次数,例如手机和手表同时出现的次数是3次,手机出现的总次数是4次,则置信度=3/4=75%。
公式如下:
confidence(X→Y)=|X交Y|/|X|,集合X与集合Y同时出现的总次数/集合X出现的记录数。
4.提升度
就是 置信度 除以 支持度。即 (3/4)/(3/5)=5/4 > 1 。
公式如下:
lift(X→Y)=confidence(X→Y)/P(Y),表示含有X的条件下,同时含有Y的概率,与Y总体发生的概率之比。
说明:
提升度越高,说明置信度和支持度越好,说明物品之间的关联性也比较强。
5、频繁项集
满足规定的最小支持度的项集。 例如:给定支持度是>50%,耳机和相机的支持度为2/5=40%,不满足规定的最小支持度即 <50%,而手机与手表的支持度是 3/5=60%,满足规定的最小支持度即>50%,因此 T2{背包,手机,手表,鞋子} 、T3 {耳机,手机,手表,相机} T4{背包,耳机,手机,手表} 是频繁项集。
例如,如果在一个超市的销售数据中,发现葡萄酒、尿布和豆奶这三个商品经常一起被购买,
那么{葡萄酒,尿布,豆奶}就是一个频繁项集。
二、关联规则
某超市的管理者发现:纸尿裤和啤酒放通常会出现在一个订单里,经过数据分析发现,买尿不湿的家长以父亲居多,如果他们在买尿不湿的同时恰好看到了啤酒,就会有很大的概率购买,从而就能提高啤酒的销售量。根据纸尿裤与啤酒的关联规则(买尿不湿的家长以父亲居多),超市经营者可以将这两件商品放在一起出售,并且还可以通过推荐系统向购买纸尿裤的顾客推荐啤酒,这样可以提高超市的效益。
因此关联规则是分析挖掘购物篮中的购买行为。通过分析购物篮中不同商品之间的关联关系,可以揭示商品之间的搭配规律,为商家提供定制化的推荐策略,优化产品摆放和促销活动,以提高销售额和顾客满意度。
关联规则分析也被称为购物篮分析,用于分析数据集各项之间的关联关系。
关联规则挖掘是一种用于发现数据集中的频繁项集和关联规则的数据挖掘技术。它可以帮助我们找到数据集中的相关性,从而可以用于市场篮子分析、推荐系统等领域。
三、数据挖掘算法
频繁项集的挖掘通常使用数据挖掘算法,如Apriori算法、FPTree(Frequent Pattern Tree)、GSP、CBA等算法,后几种算法都是基于Apriori算法和思想产生,这些可以帮助我们有效地从大规模数据集中找出频繁项集,为商业决策提供支持。现在一般很少直接用Apriori算法来挖掘数据,但理解Apriori算法是理解其它相关算法的前提。
1、学习Apriori算法前提
假如我们在经营一家商品种类并不多的杂货店,我们对哪些经常在一起被购买的商品非常感兴趣。我们只有四种商品:商品0、商品1、商品2、商品3。那么所有可能被一起购买的商品组合都有哪些?这些商品组合可能著有一种商品,比如商品0,也可能包括两种、三种或所有四种商品。但我们不关心某人买了两件商品0以及四件商品2的情况,只关心他购买了一种或多种商品。