关联分析

本节内容:

1:理解关联分析及专业名词

2:关联分析指定数据结构-->transactions(事务结构)

3:关联分析规则规定流程

 

一、理解关联分析及专业名词

1.1:什么是关联分析:

有一个非常有名的故事:"尿布和啤酒"。故事是这样的:美国的妇女们经常会嘱咐她们的丈夫
下班后为孩子买尿布,而丈夫在买完尿布后又要顺 手买回自己爱喝的啤酒,因此啤酒和尿布在
一起被购买的机会很多。这个举措使尿布和啤酒的销量双双增加,并一直为众商家所津津乐道。

我们从中会有疑问?为什么尿布和啤酒放在一起就提升销量呢?
如何去发现尿布和啤酒之间的关系就是我们要讲的关联分析

1.2:要进行关联分析要用什么方法?

Apriori algorithm是关联规则里一项基本算法。
是由Rakesh Agrawal和Ramakrishnan Srikant两位博士在1994年提出的关联规则挖掘算法。 关联规则的目的就是在一个数据集中找出项与项之间的关系,
也被称为购物蓝分析 (Market Basket analysis),因为“购物蓝分析”很贴切的表达了适用该算法情景中的一个子集。

我们将每一个顾客购买的购物蓝中物品称之为,而购物篮的物品集合就叫做项集,这一次购买的东西的行为叫做事务

1.3:专业名词

支持度(Support):定 义为 supp(X) = occur(X) / count(D) = P(X)。

   1. 解释一:比如选秀比赛,那个支持和这个有点类似,那么多人(资料库),其中有多少人是选择(支持)你的,那个就是支持度;
   2. 解释二:在100个人去超市买东西的,其中买苹果的有9个人,那就是说苹果在这里的支持度是 9,9/100;
   3. 解释三:P(X),意思是事件X出现的概率;
   4. 解释四:关联规则当中是有绝对支持度(个数)和相对支持度(百分比)之分的。

置信度(Confidence/Strength): 定义为 conf(X->Y) = supp(X ∪ Y) / supp(X) = P(Y|X)。

买A的支持度是0.8  买B的支持度是0.6
同时买A和B的支持度是0.4
那么我们求A对B的置信度 = 0.4 / 0.8 = 0.5
##求是说够买了A之后那么再购买B的成功率是0.5,而原本B的支持度是0.6,那么在后面的算法我们就不会生成这个关联规则

支持度(提升度Lift)

通过置信度A对B的支持度 =  0.5 / 0.6 =0.83  
##这说明支持度降低,不应该把A和B放在一起进行销售

频繁集

我们指定支持度为(0.25)那么项集从1到n的项集 > 0.25就叫做频繁集。

当购物车有2个商品:叫做2项集
当购物车有3个商品:叫做3项集

二、关联分析指定数据结构-->(事务结构) 

要进行关联分析那么其数据集的数据结构必须为transactions(事务结构)。

library(arules)
library(gridBase)

tr_list = list(
  c("Bread","Milk"),
  c("Bread","Beer","Milk"),
  c("Eggs","Beer","DR")
)

##重命名
names(tr_list) = paste("tr",c(1:3),sep = "")
summary(tr_list)

##变成事务类型
#使用as函数,将链表转化为事务类型
trans = as(tr_list,"transactions")

如何查看事务类型的属性

##展现事务
LIST(trans)   ##查看事务数据
inspect(trans)

image(trans)  ##可视化查看事务

trans@data

size(trans)  #每个事务中包含多少项

filter_trans = trans[size(trans)>=3] ##筛选出事务中项数大于等于3的事务
summary(filter_trans)

关联分析关联分析

三、关联分析规则规定流程

关联分析

 

从1项集到N项集,求出各个项集的支持度,我们指定支持度的阈值为(0.25),当支持度小于0.25,我们就

将其项集删除。然后就出各个的置信度和提升度判定是否要生成规则

支持度:
	Beer = 0.6  Bread=0.8 Coke=0.4
	Diaper = 0.8 Mike=0.8
	
置信度:
	Be,Br = 0.4
	求置信度Be:Be和Br都发生的概率是0.4,原本购买Br的概率是0.8
	所以0.4/0.8=0.5 就是说,够买了Br之后那么再购买Be的成功率是0.5
	那么原本购买Be的0.6 变成了 0.5,所以就生成不了这个规则。
提升度:
	0.5/0.6 = 0.83 购买Be提升度降低

  

 

上一篇:解决锁定图层,图形不淡显的问题


下一篇:lvm 逻辑卷分区删除恢复