http://blog.csdn.net/bone_ace/article/details/46648965
http://www.cnblogs.com/ybjourney/p/4851540.html
《数据挖掘——概念与计数》3rd Edition
一、什么是关联分析
顾名思义,关联分析就是寻找事务之间的关联关系,一个耳熟能详的例子就是“啤酒与尿布”的问题。挖掘事务内部的关联关系,对于制定精准营销策略具有指导意义。
二、关联分析中术语的定义
为了介绍方便,先给出一个例子:
TID | 商品ID |
T01 | I1,I2,I5 |
T02 | I2,I4 |
T03 | I2,I3 |
T04 | I1,I2,I4 |
T05 | I1,I3 |
T06 | I2,I3 |
T07 | I1,I3 |
T08 | I1,I2,I3,I5 |
T09 | I1,I2,I3 |
事务:每一个交易记录称为一个事务。在上例,共有9个事务。
项:交易中的每个物品称为项。在上例,I1,I2等均为项。
项集:项的集合。例如,{I1,I2,I5}、{I1,I2,I3}、{I1,I3}等均为项集。
k-项集:元素个数为k的项集称为k-项集。例如,{I1,I3}、{I1,I2,I3,I5}、{I1,I2,I3}分别为2-项集、4-项集与3-项集。
支持度计数:某个项集出现在n个事务中,则该项集的支持度计数为n。例如,项集{I1,I3}的支持度计数为4。
支持度:某个项集的支持度计数除以事务总数,一般以百分比表示。例如,项集{I1,I3}的支持度为4/9。
频繁项集:支持度大于或等于某个阈值的项集叫做频繁项集。例如,指定阈值为30%,则项集{I1,I3}是频繁项集,项集{I2,I4}不是频繁项集。
先导和后继:对于关联规则X→Y,X叫做先导,Y叫做后继。
置信度:对于规则X→Y,其置信度(confidence(X,Y))是指项集{X,Y}的支持度除以{X}的支持度,即confidence(X,Y)=包含X和Y的事务数/包含X的事务总数。
强关联规则:对于某个关联规则:X→Y,它的支持度(support(X→Y))是指,同时包含其先导与后继的事务数与总事务数的比值,即:support(X→Y)=包含X和Y的事务数/事务总数。若关联规则的支持度与置信度均大于支持度阈值与置信度阈值,则称其为强关联规则。
三、两种算法
关联分析的最终目的就是寻找强关联规则。常用的算法有Apriori算法、FP-Growth算法,下面分别介绍。
<1> Apriori算法
算法思路:由频繁(k-1)-项集生成k-项集,然后根据支持度阈值判断生成的k-项集是否为频繁项集。
两个频繁项集是可连接的,如果它们除最后一个元素之外都是相同的,这里对频繁项集内的元素按照字典序排列。
1.在给出的例子中,指定支持度阈值为2/9。1.首先确定频繁1-项集:
项集 | 支持度计数 | 支持度 |
{I1} | 6 | 2/3 |
{I2} | 7 | 7/9 |
{I3} | 6 | 2/3 |
{I4} | 2 | 2/9 |
{I5} | 2 | 2/9 |
2.然后列出所有可能由频繁1-项集组成的2-项集:
项集 | 支持度计数 | 支持度 |
{I1,I2} | 4 | 4/9 |
{I1,I3} | 4 | 4/9 |
{I1,I4} | 1 | 1/9 |
{I1,I5} | 2 | 2/9 |
{I2,I3} | 4 | 4/9 |
{I2,I4} | 2 | 2/9 |
{I2,I5} | 2 | 2/9 |
{I3,I4} | 0 | 0 |
{I3,I5} | 1 | 1/9 |
{I4,I5} | 0 | 0 |
由上表可知,频繁2-项集为{I1,I2}、{I1,I3}、{I1,I5}、{I2,I3}、{I2,I4}、{I2,I5}。
3.继续列出所有可能由频繁2-项集组成的3-项集:
项集 | 支持度计数 | 支持度 |
{I1,I2,I3} | 2 | 2/9 |
{I1,I2,I5} | 2 | 2/9 |
由上表可知,频繁3-项集为{I1,I2,I3}、{I1,I2,I5}。
在这一步中,首先由频繁2-项集产生的集合共为{{I1,I2,I3}、{I1,I2,I5}、{I1,I3,I5}、{I2,I3,I4}、{I2,I3,I5}、{I2,I4,I5}}。根据先验性质,频繁项集的所有子集必须是频繁的,可以确定后4个项集不可能是频繁的,故剔除。
可以进一步验证,由频繁3-项集产生的4-项集均不是频繁的,故算法至此终止。
4.由频繁项集产生关联规则步骤如下:
- 对于每个频繁项集p,产生p的所有非空子集。
- 对于p的每个非空子集s,如果p的支持度除以s的支持度不小于置信度阈值,则输出规则“s→(p-s)”
对于得到的3-项集{I1,I2,I3},它的所有非空子集为{I1}、{I2}、{I3}、{I1,I2}、{I1,I3}、{I2,I3},可以得到的关联规则及相应的支持度和置信度如下:
规则 | 置信度 |
I1→{I2,I3} | 33% |
I2→{I1,I3} | 29% |
I3→{I1,I2} | 33% |
{I1,I2} →I3 | 50% |
{I1,I3} →I2 | 50% |
{I2,I3} →I1 | 50% |
对于得到的3-项集{I1,I2,I5},它的所有非空子集为{I1}、{I2}、{I5}、{I1,I2}、{I1,I5}、{I2,I5},可以得到的关联规则及相应的支持度和置信度如下:
规则 | 置信度 |
I1→{I2,I5} | 33% |
I2→{I1,I5} | 29% |
I5→{I1,I2} | 100% |
{I1,I2} →I5 | 50% |
{I1,I5} →I2 | 100% |
{I2,I5} →I1 | 100% |



雷达卡







京公网安备 11010802022788号







