数据挖掘-关联规则挖掘之Apriori算法

目录

一、定义

二、Apriori定律

Apriori定律1):

Apriori定律2):

三、Apriori算法工作原理:

四、Apriori算法特点: 


一、定义

Apriori是由a priori合并而来的,它的意思是后面的是在前面的基础上推出来的,即先验推导,怎么个先验法,其实就是二级频繁项集是在一级频繁项集的基础上产生的,三级频繁项集是在二级频繁项集的基础上产生的,以此类推。

Apriori是寻找频繁项集的常用算法。

二、Apriori定律

Apriori定律1):

如果一个集合是频繁项集,则它的所有子集都是频繁项集。举例:假设一个集合{A,B}是频繁项集,即A、B同时出现在一条记录的次数大于等于最小支持度min_support,则它的子集{A},{B}出现次数必定大于等于min_support,即它的子集都是频繁项集。

Apriori定律2):

如果一个集合不是频繁项集,则它的所有超集都不是频繁项集。举例:假设集合{A}不是频繁项集,即A出现的次数小于min_support,则它的任何超集如{A,B}出现的次数必定小于min_support,因此其超集必定也不是频繁项集。

三、Apriori算法工作原理:

给出初始表

数据挖掘-关联规则挖掘之Apriori算法_第1张图片

下面为Apriori算法的工作原理:

数据挖掘-关联规则挖掘之Apriori算法_第2张图片 

四、Apriori算法特点: 

1、多次扫描数据库;

2、候选项规模庞大;

3、计算支持度开销大。

Apriori算法缺点在于,需要反复的生成候选项,如果项的数目比较大,候选项的数目将达到组合爆炸式的增长。

针对于此,另一种发现频繁项集的算法:FP-Growth算法,可以避开这个缺点。

Apriori算法利用先验原理逐步减少候选集的数量,FP-Growth算法则利用先验原理和生成FP-Tree相结合来减少比较的次数。

FP-Growth算法的平均效率远高于Apriori算法。

在此不进行展开讲述。

你可能感兴趣的:(知识图谱验证,算法,数据挖掘,人工智能,数据结构,python)