关联规则挖掘-Apriori算法例题分析

Apriori算法主要作用就是找到其事务之间的内在联系
Apriori算法的基本思想是通过对数据的多次扫描来计算项集的支持度,发现所有的频繁项集从而生成关联规则

关联规则挖掘-Apriori算法例题分析_第1张图片
一:

找频繁项集关键是找到最小支持度或者最小支持计数,最小支持计数更加好理解。而找强关联规则,则是在频繁项集的基础上找到满足最小置信度(可信度)的规则。

分析:找出频繁1项集,列出表格。由于相应的记录数是4,最小支持度是50%,故最小支持计数为4*50% = 2.而1在记录中出现次数是2 ,满足条件n>=2,则加入表中。2出现次数是3,满足,加入表中。同理 3,5 也满足,加入表中,只有4不满足条件不加入表格。

频繁1项集,左边是谁出现,右边是出现次数

I1 L1
1 2
2 3
3 3
5 3

分析:频繁2项集,从频繁1项集中任意选两项,不记顺序。
然后从原来记录中提取次数。如下
{1,2}:1
{1,3}:2
{1,5}:1
{2,3}:2
{2,5}:3
{3,5}:2
按照原来频繁1项集的定义,很显然,得到下表,频繁2项集

I2 L2
{1,3} 2
{2,3} 2
{2,5} 3
{3,5} 2

继续寻找频繁3项集
本质上就是从频繁2项集中找到相应的组合,然后通过原记录进行查数,满足最小支持计数的加入频繁3项集中。
{1,3,2,3}=》{1,2,3}:1
{1,3,2,5}=》{1,2,3,5}不是3项集,不满足
{1,3,3,5}=》{1,3,5}:1
{2,3,2,5}=>{2,3,5}:2
{2,3,3,5}=>{2,3,5}
{2,5,3,5}=>{2,3,5}
故频繁3项集如下

I3 L3
{2,3,5} 2

分析,由于频繁3项集只有1个,无法组成频繁4项集,故没有其他频繁项集了。

二:找强相关规则:
L3的非空子集有{2},{3},{5},{2,3},{2,5},{3,5}
2∧3=>5
2∧5=>3
3∧5=>2
2=》3∧5
3=》2∧5
5=》2∧3
L2的非空子集有{1},{3},{2},{5}
{1}=>{3}
{2}=>{5}
{2}=>{3}
{3}=>{5}
以及他们的反过来,有点懒,不写了。

看满足置信度的值满足相应的大于最小置信度阈值吗?
例如:2=》3∧5置信度为count{2,3,5}/count{2} = 2/3 低于70%,不满足 而 {2,3,5} / {2,3}={2,3,5}出现的次数 / {2,3}出现的次数=2/2=1=100%,满足
如果满足,则该集合就是强关联规则,计算
有点多,不一一赘述了。下面举一些例子,满足题型。

举例了候选集和频繁项集:
https://blog.csdn.net/qq_28697571/article/details/84678422
想再练一个的同学可以看下面:
https://zhuanlan.zhihu.com/p/342011797
或者这个:

已知有如下的事务集
TID 购买的商品
T100 M, O, N, K, E, Y
T200 D, O, N, K, E, Y
T300 M, A, K, E
T400 M, U, C, K, Y
T500 C, O, K, I, E
设最小支持度为60%,最小置信度80%
(1)采用Apriori算法找出所有频繁项集以及其支持度
(2)列出所有满足如下元规则匹配的强关联规则
Item1 ∧ Item2 → Item3
其中Item1、Item2、Item3代表事务集中的某一个商品,且互不相同
答:
(1)
频繁1项集 频繁1项集支持度 频繁2项集 频繁2项集支持度 频繁3项集 频繁3项集支持度
M 3/5或 60% (M, K) 3/5或 60% (O, K, E) 3/5或 60%
O 3/5或 60% (O, K) 3/5或 60%
K 5/5或 100% (O, E) 3/5或 60%
E 4/5或 80% (K, E) 4/5或 80%
Y 3/5或 60% (K, Y) 3/5或 60%
(2)符合条件的强关联规则如下:
O ∧ K → E:100%
O ∧ E → K:100%

你可能感兴趣的