Apriori算法主要用于数据集的关联分析,找出数据集中的有趣的关联规则。例如“啤酒和尿布”。
该算法主要分为两个步骤:找出频繁项集、找出关联规则。
一个具体的例子:
在寻找频繁项集之前我们先引入两个小概念:支持度和可信度。
支持度是指某个集合在所有记录中出现的频率,计算方法为出现次数/总记录数;
可信度是为了验证某种关联规则是否存在而设立的。例如我们猜想“尿布--->葡萄酒”这一规则,那么该规则的可信度就是(尿布,葡萄酒)的支持度/(尿布)的支持度,或者两者的次数之商。
接下来开始找频繁项集。在使用Apriori算法之前,若是我们想要找出一份数据集中的频繁项集,我们至少需要遍历一遍数据集中的所有数据,一共会有2^n-1种项集,这种方式在n非常大的时候(一个超市中会有数千种商品)效率将会严重低下。为了提高效率,我们仔细研究频繁项集,显然发现:
①当一个项集为频繁项集时,他的子集也一定是频繁项集;
==》②当一个项集不是频繁项集时,他的超集一定