什么是关联分析?

简介:

引言:

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

演示样例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。请见Apriori算法的介绍

FP-Growth算法:

FP-Growth算法仅仅须要扫描两次数据集。它的思想是把构造一棵FP-Tree。把数据集中的数据映射到树上,再依据这棵FP-Tree找出全部频繁项集。 
很多其它关于FP-Growth,请见FP-Growth算法的介绍FP_Growth算法python实现


关联规则的生成:

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


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


附加:

此处是针对购物篮演示样例来介绍关联分析,购物篮信息属于布尔型的,而现实生活中很多事物都是数值量化的,比如{购买1个时钟}→{购买2块电池}。 
另外。对于产生的强关联规则,并非全部都是有价值的,还须要对关联规则进行评价。 
很多其它内容兴许再补上。


转载请注明出处。谢谢!(原文链接:http://blog.csdn.net/bone_ace/article/details/46648965



本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5354562.html,如需转载请自行联系原作者
相关文章
|
3月前
|
SQL C++
数仓之归因分析
数仓之归因分析
|
4月前
|
监控 小程序 数据挖掘
九大数据分析方法-单指标分析方法与多指标分析方法
九大数据分析方法-单指标分析方法与多指标分析方法
|
机器学习/深度学习 数据挖掘
数据分析:5个数据相关性指标
相似性度量是许多数据分析和机器学习任务中的重要工具,使我们能够比较和评估不同数据片段之间的相似性。有许多不同的指标可用,每个指标各有利弊,适用于不同的数据类型和任务。
205 0
|
分布式计算 数据可视化 搜索推荐
用户画像分析-21
用户画像分析-21
213 0
用户画像分析-21
|
监控 搜索推荐
用户画像分析-20
用户画像分析-20
122 0
|
分布式计算 数据可视化 搜索推荐
用户画像分析-22
用户画像分析-22
161 0
用户画像分析-22
|
监控 搜索推荐
用户画像分析-18
用户画像分析-18
111 0
|
监控 搜索推荐
用户画像分析-19
用户画像分析-19
114 0
|
数据采集 监控 搜索推荐
用户画像分析-17
用户画像分析-17
116 0
|
SQL 分布式计算 搜索推荐
用户画像分析-14
用户画像分析-14
119 0
用户画像分析-14

热门文章

最新文章