博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
什么是关联分析?
阅读量:6400 次
发布时间:2019-06-23

本文共 2022 字,大约阅读时间需要 6 分钟。

引言:

在认识什么是关联分析之前。先了解一下关联分析能用来干什么吧:

演示样例1:例如以下是一个超市几名顾客的交易信息。

TID Items
001 Cola, Egg, Ham
002 Cola, Diaper, Beer
003 Cola, Diaper, Beer, Ham
004 Diaper, Beer

TID代表交易流水号。Items代表一次交易的商品。

我们对这个数据集进行关联分析,能够找出关联规则{Diaper}→{Beer}。 

它代表的意义是:购买了Diaper的顾客会购买Beer。这个关系不是必定的。可是可能性非常大,这就已经足够用来辅助商家调整Diaper和Beer的摆放位置了,比如摆放在相近的位置,进行捆绑促销来提高销售量。

所以。关联分析的任务就是从数据集中挖掘出频繁项集,然后从频繁项集中提取出事物之间的强关联规则。辅助决策。 

各种定义:

1、:每一条交易称为一个事务。比如演示样例1中的数据集就包括四个事务。 

2、:交易的每个物品称为一个项,比如Cola、Egg等。 
3、:包括零个或多个项的集合叫做项集,比如{Cola, Egg, Ham}。 
4、k:包括k个项的项集叫做k-项集,比如{Cola}叫做1-项集,{Cola, Egg}叫做2-项集。 
5、:一个项集出如今几个事务其中,它的支持度计数就是几。

比如{Diaper, Beer}出如今事务002、003和004中。所以它的支持度计数是3。

6、:支持度计数除于总的事务数。比如上例中总的事务数为4,{Diaper, Beer}的支持度计数为3。所以它的支持度是3÷4=75%。说明有75%的人同一时候买了Diaper和Beer。 
7、:支持度大于或等于某个阈值的项集就叫做频繁项集。

比如阈值设为50%时,由于{Diaper, Beer}的支持度是75%,所以它是频繁项集。

8、:对于规则{Diaper}→{Beer},{Diaper}叫做前件。{Beer}叫做后件。 
9、:对于规则{Diaper}→{Beer},{Diaper, Beer}的支持度计数除于{Diaper}的支持度计数。为这个规则的置信度。比如规则{Diaper}→{Beer}的置信度为3÷3=100%。说明买了Diaper的人100%也买了Beer。 
10、:大于或等于最小支持度阈值和最小置信度阈值的规则叫做强关联规则。关联分析的终于目标就是要找出强关联规则。

我们easy发现,假设一个项集是频繁项集。则它的子项集也都是频繁项集。假设一个项集是非频繁项集,则它的超集也一定是非频繁项集。(可用反证法证明,此处略) 

比如{Diaper, Beer}是频繁项集。则{Diaper}、{Beer}也都是频繁项集。 
比如{Egg}是非频繁项集。则{Cola, Egg}也是非频繁项集。

关联分析:

关联分析分为两个步骤: 

<1> 利用支持度找出数据集中的频繁项集。 
<2> 利用置信度从频繁项集中提取出强关联规则。

频繁项集的挖掘:

Apriori算法:

Apriori算法的思路是先找出候选项集,然后依据最小支持度阈值筛选出频繁项集。

比如先找出全部1-项集。然后筛选出里面的频繁1-项集; 依据频繁1-项集生成候选2-项集,然后筛选出里面的频繁2-项集; 再依据频繁2-项集生成候选3-项集。从里面筛选出频繁3-项集;·······

Apriori算法的缺点是须要不断扫描数据集,不断地求候选项集的支持度从而推断它是否是频繁项集。当数据集非常大的时候。这样的算法的效率将会非常低。

很多其它关于Apriori。请见。

FP-Growth算法:

FP-Growth算法仅仅须要扫描两次数据集。它的思想是把构造一棵FP-Tree。把数据集中的数据映射到树上,再依据这棵FP-Tree找出全部频繁项集。 

很多其它关于FP-Growth,请见、。


关联规则的生成:

从步骤一已经得到了频繁项集,而此时的任务就是在频繁项集里面挖掘出大于最小置信度阈值的关联规则。

怎么挖呢?把频繁项集分成前件和后件两部分,然后求规则前件→后件的置信度。假设大于最小置信度阈值,则它就是一条强关联规则。 
可是把频繁项集分成前件和后件的情况有非常多,我们能够对其进行一些优化。

附加:

此处是针对购物篮演示样例来介绍关联分析,购物篮信息属于布尔型的,而现实生活中很多事物都是数值量化的,比如{购买1个时钟}→{购买2块电池}。 

另外。对于产生的强关联规则,并非全部都是有价值的,还须要对关联规则进行评价。 
很多其它内容兴许再补上。

转载请注明出处。谢谢!(原文链接:)
本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5354562.html,如需转载请自行联系原作者
你可能感兴趣的文章
九爷带你了解 nginx 日志配置指令详解
查看>>
Jenkins 自动化部署上线
查看>>
unittest框架执行用例
查看>>
简述ssl协议及利用openssl创建私有CA
查看>>
React Native——react-navigation的使用
查看>>
“二子乘舟”的故事很难讲
查看>>
Luhn(卢恩)算法,检测信用卡号的合法性
查看>>
邮件服务的基本理论
查看>>
第九章 性能监控诊断
查看>>
RESTful再理解
查看>>
大数据量下的集合过滤—Bloom Filter
查看>>
Wannafly挑战赛9
查看>>
《企业云桌面实施》-小技巧-02-使用ISO光驱安装esxi6.5
查看>>
Python从菜鸟到高手(4):导入Python模块
查看>>
实战:Windows 2008 WDS使用参考计算机创建安装映像
查看>>
利用缓存来提高网站的性能(Caching to Improve the Performance of Your Website )
查看>>
Android应用程序注册广播接收器(registerReceiver)的过程分析
查看>>
对代理ARP技术的误读、无法完成代理ARP实验的故障分析
查看>>
详解网络流量监控
查看>>
可视化日志分析工具Gltail的安装与使用
查看>>