ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

关联分析

2019-12-19 23:02:37  阅读:313  来源: 互联网

标签:分析 事务 ## 支持 项集 关联 trans


本节内容:

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提升度降低

  

 

标签:分析,事务,##,支持,项集,关联,trans
来源: https://www.cnblogs.com/hero799/p/12070770.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有