关联规则的基本思想

1. 相关定义

在学习关联规则之前,首先要知道一大堆的定义。

Num 鸡蛋 牛奶 啤酒 尿布 饮料
T1 0 1 1 0 0
T2 1 1 0 0 1
T3 0 1 0 1 0

每一行是购买记录,每一列是对应物品。

1. 定义1.1 项和事务,事务宽度

每一列看作一个项,每一行看作一个事务。一个事务有几个项,事务的宽度就是多少。T1的宽度是2,T2的宽度是3 ,T3的宽度是2。

2. 定义1.2 项集

数学定义是一大串公式,我们跳过。但是理解很简单,项集简称项,用来描述事务。例如T1有两个元素,事务T1就是2项集,T2是3项集,T3是2项集。当然,项集可以是空的。

3. 定义1.3 支持度,支持数

简单理解,支持数就是计数,支持度就是所占百分比。例如,表格中鸡蛋出现的次数为1,那么它的支持数就是1。而事务总数为3,因此鸡蛋的支持度是1/3。同理,牛奶的支持数为3,支持度为3/3=1。支持度定义如下:

支持度 :support(X)=count/|T|

这里说的是单维度,如果是多维度,X就是并集。例如:

support(鸡蛋∩饮料)=count/|T|=1/3
support(鸡蛋∩啤酒)=count/|T|=0

4. 定义1.4 置信度

两个项集X,Y之间的概率关系。大家学过概率论应该知道条件概率,置信度就是一种条件概率。一般表达式如下:

Conf(X ⇒ Y)=0.6

意为在X发生的条件下,Y发生出现的概率式60%。在这个例子中,

Conf(牛奶⇒ 鸡蛋)=1/3
Conf(鸡蛋⇒ 牛奶)=1
Conf(鸡蛋⇒ 啤酒)=0

多维情况下 同支持度

5. 定义1.5 关联规则

关联规则,关联和规则,定义为形如X ⇒ Y的蕴涵式,其中X,Y均为项集。在使用的过程中,它只是蕴含式的形式。至于到底有什么规则,需要我们的挖掘。

6. 定义1.6 频繁项集

重点来了,项集前面说了,就是列。频繁项集就是列中的项集大于某个概率,这个概率我们一般定义为最小支持度。设定最小支持度为50%,则只有牛奶这项是频繁的,频繁项集为{‘牛奶’}。若最小支持度为20%,则所有项均是频繁的,频繁项集为{‘鸡蛋’,‘牛奶’,‘啤酒’,‘尿布’,‘饮料’}。因为是5项,所以称之为频繁5-项集。

7. 定义1.7 强关联规则

项集X,Y同时满足最小支持度和最小置信度,就是强关联,反之弱关联。同时满足这两种情况,说明两者的相关性非常高。

2.原理

1.先验概率

学过概率论大家都知道,概率有先验概率,也有后验概率。关联规则所用的概率就是先验概率,重要的两个公理:

  • 如果一个非空项集是频繁的,则它的所有子集一定也是频繁的;
  • 如果项集是非频繁的,则它的所有超集也一定是非频繁的。

2.剪枝和连接

上面两条的公理有什么用呢?挖掘频繁项集的时候使用。Apriori算法的第一步就是剪枝,剪枝就是删除概率不满足的项,这里的剪枝和深度学习的剪枝类似,但是不相同。算法的过程是频繁1-项集,2-项集,…n-项集。剪枝一次后需要连接,然后剪枝第二次,然后再连接,再剪枝,再连接…直到最后挖掘出所有的频繁项集。具体的过程会在后面的算法种详细介绍。

猜你喜欢

转载自blog.csdn.net/qq_40575024/article/details/105799234
今日推荐