数据挖掘算法之Apriori算法应用实例

 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_43460394

目录

                       

Apriori算法

预备知识

1  Apriori算法思想

2.  Apriori算法流程

3  Apriori算法应用实例

3.1发现频繁项集过程


                       

Apriori算法

预备知识

支持度:支持的程度,一个项集的支持度被定义为数据集中包含的该项集的记录所占的比例。

                              公式1   support({A,B})= num A∩B/W  = PA∩B

置信度:A出现时B是否一定出现,若出现概率是多少大?即A→B。

                              公式2  confidence(A→B)= support({A,B})/ support({A})= P(B/A)

1  Apriori算法思想

基本思想是:首先找出所有的频集(频集是指从项集中按照预定义的最小支持度而筛选出来的,当项集中的各项大于或等于最小支持度时,即被筛选出来,构成频繁项集。),这些项集出现的频繁性至少应和预定义的最小支持度一样。由频集产生强关联规则,这些规则应满足最小支持度和最小可信度。使用第1步(是1.2中的a的第一步。)找到的频集产生期望的规则,产生只包含集合的项的所有规则,其中每一条规则的右部只有一项,这里采用的是中规则的定义。这些规则一旦被生成,大于用户给定的最小可信度的规则才被留下来。为了生成所有频集,使用了递推的方法。

2.  Apriori算法流程

a) 找出所有频繁项集,过程由连接步和剪枝步互相融合,获得最大频繁项集Lk。具体方法:

1) 对给定的最小支持度阀值,分别对1项候选集C1,剔除小于改阀值的项集得到1项频繁

集L1;

2) L1自身连接产生2项候选集C2,保留C2中满足约束条件的项集得到2项集L2;

3) L2与L1连接产生3项候选集C3,保留C3中满足约束条件的项集L3;

4) 循环下去,得到最大频繁项集Lk。

b)由频繁项集产生强关联规则,获得满足最小置信度阀值频繁项集,因此挖掘出了强关联规则。

3  Apriori算法应用实例

                                                                               表1  工艺相关参数项目集

事务ID

A设备参数(1)

B设备参数(2)

C设备参数(3)

D设备参数(4)

                               等级

甲(5)

乙(6)

丙(7)

01

1

2

3

4

5

 

 

02

1

2

3

4

5

 

 

03

1

2

3

 

 

6

 

04

1

 

3

4

 

 

7

05

1

2

3

4

5

 

 

06

1

2

3

4

5

 

 

07

1

2

3

4

5

 

 

08

1

2

 

4

 

6

 

注1:每行为一个事务,行中的每个元素为一个项。由一个或多个项组成的一个整体叫做项集。

注2:各设备发生异常时表中信息为空(不填)。

注3:“1”表示A设备正常;“2”代表B设备正常;“3”代表C设备正常;“4”代表D设备正常;“5”代表质量等级为甲级;“6”代表质量等级为乙级;“7”代表质量等级为丙级。

3.1发现频繁项集过程

                            数据挖掘算法之Apriori算法应用实例_第1张图片

                                                              图1  发现频繁项集过程(最小支持度取0.2)

对于寻找关联规则来说,频繁1项集L1没有用处,因为L1中的每个集合仅有一个数据项,至少有两个数据项才能生成A→B这样的关联规则。

频繁2项集L2,挖掘过程见表2(取置信度为0.7)。

                                                                                                 表2

L2

支持项

关联规则

置信度

最终关联关系

{1,2}

7

1→2

7/8

1→2

...

 

2→1

1

2→1

{1,5}

5

1→5

5/8

 

...

 

5→1

1

5→1

{1,6}

2

1→6

1/4

 

...

 

6→1

1

6→1

{2,5}

5

2→5

5/7

2→5

...

 

5→2

1

5→2

{2,6}

2

2→6

2/7

 

L2

支持度

关联规则

置信度

最终关联关系

...

 

6→2

1

6→2

{3,5}

5

3→5

5/7

3→5

...

 

5→3

1

5→3

{4,5}

5

4→5

5/7

4→5

...

 

5→4

1

5→4

...

...

....

...

...

频繁3项集L3,挖掘过程见表3(   两后件关联关系且取置信度为0.7)。

                                                                                                表3

L3

支持度

关联规则

置信度

最终关联关系

{1,2,5}

5

1→2,5

5/8

 

...

 

2→1,5

5/7

2→1,5

...

 

5→1,2

1

5→1,2

{1,2,6}

2

1→2,6

1/4

 

...

 

2→1,6

2/7

 

...

 

6→1,2

1

6→1,2

{1,3,5}

5

1→3,5

5/8

 

...

 

3→1,5

5/7

3→1,5

...

 

5→1,3

1

5→1,3

{1,4,5}

5

1→4,5

5/8

 

...

 

4→1,5

5/7

4→1,5

...

 

5→1,4

1

5→1,4

{2,4,5}

5

2→4,5

5/7

2→4,5

...

 

4→2,5

5/7

4→2,5

...

 

5→2,4

1

5→2,4

...

...

...

...

...

频繁4项集L4,挖掘过程见表4(   三后件关联关系且取置信度为0.7)。

                                                                                               表4

L3

支持度

关联规则

置信度

最终关联关系

{1,2,3,5}

5

1→2,3,5

5/8

 

...

 

2→1,3,5

5/7

2→1,3,5

...

 

3→1,2,5

5/7

3→1,2,5

...

 

5→1,2,3

1

5→1,2,3

{1,2,4,5}

5

1→2,4,5

5/8

 

...

 

2→1,4,5

5/7

2→1,4,5

                                                                                              表4(续)

L3

支持度

关联规则

置信度

最终关联关系

...

 

4→1,2,5

5/7

4→1,2,5

...

 

5→1,2,4

1

5→1,2,4

{1,3,4,5}

5

1→3,4,5

5/8

 

...

 

3→1,4,5

5/7

3→1,4,5

...

 

4→1,3,5

5/7

4→1,3,5

...

 

5→1,3,4

1

5→1,3,4

{2,3,4,5}

5

2→3.4,5

5/7

2→3.4,5

...

 

3→2,4,5

5/7

3→2,4,5

...

 

4→2,3,5

5/7

4→2,3,5

...

 

5→2,3,4

1

5→2,3,4

...

...

...

...

...

上面的计算可以看出,产品质量等级与工艺的相关数据存在关联规则,关联规则由上述表中给出。显然,当某个设备发生波动或异常时,产品质量会相应的降低甚至不合格,且通过关联关系,我们可以找寻出与产品质量强相关的工艺参数并加以监控,从而达到异常工艺的精准定位,进而提高产品质量。

你可能感兴趣的:(数据挖掘算法)