Apriori算法之python实现
1.基本概念
学习Apriori算法首先要了解几个概念:项集、支持度、置信度、最小支持度、最小置信度、频繁项集。
项集:顾名思义,即项的集合。eg:牛奶、面包组成一个集合{牛奶、面包},其中牛奶和面包为项,{牛奶、面包}为项集,称之为2项集。(说白了,其实就是集合)
支持度:项集A、B同时发生的概率称之为关联规则的支持度。
置信度:项集A发生的情况下,则项集B发生的概率为关联规则的置信度。
支持度与置信度的概念有些抽象,具体可以看下面的例子:
![1a9768385aaee639871826abc09389ff.png](https://i-blog.csdnimg.cn/blog_migrate/99332ffb5c5803548d068753451d0b01.png)
如图数据为顾客购物情况,每一个id对应的items都是一个项集,现在需要对{milk,diaper}与{beer}关联性进行研究,计算支持度与置信度。
计算如下:
计算支持度:计算{milk,diaper}{beer}同时发生的概率就相当于计算{milk,diaper,beer}出现的次数所占数据条的比重,即2/5.
计算置信度:计算{milk,diaper}发生的情况下,则{beer}发生的概率就相当于计算{milk,diaper,beer}出现的次数所占{milk,diaper}发生次数的比重,即2/3.
最小支持度:最小支持度就是人为按照实际意义规定的阈值,表示项集在统计意义上的最低重要性。
最小置信度:最小置信度也是人为按照实际意义规定的阈值,表示关联规则最低可靠性。
如果支持度与置信度同时达到最小支持度与最小置信度,则此关联规则为强规则。
频繁项集:满足最小支持度的所有项集,称作频繁项集。
(频繁项集性质:1、频繁项集的所有非空子集也为频繁项集;2、若A项集不是频繁项集,则其他项集或事务与A项集的并集也不是频繁项集)。
2