关联分析是指从大规模数据集中寻找物品间的隐含关系。
寻找物品间的隐含关系,或寻找物品的不同组合,是一项很耗时的任务,所需的计算代价很大,通过普通的人工搜索方法并不能解决这个问题,所以需要用更高效的方法在合理的时间内找到频繁项集,即经常出现在一起的物品组成的集合。
Apriori算法是解决上述问题的一种智能有效的算法。
Apriori算法适用于关联分析——发现大数据集中元素间的有趣关系。这种关系分为两种形式:频繁项集和关联规则。频繁项集是指经常出现在一起的物品组合的集合;关联规则是指两种或多种物品之间可能存在很强的关系,即某些物品的出现很大可能会退出其它物品的出现。
在上面的图片中,集合{果汁,牛奶,面包}就是一个频繁项集,面包->牛奶就是一个关联规则。这意味着如果有人买了面包,那么他很有可能还会买牛奶。使用频繁项集和关联规则,商家可以更好地理解顾客的行为并获得更大的利益。
不知道大家有没有考虑一个问题。上面所说的频繁项集的频繁是如何定义的?关联规则又有多大的可信度?这就牵涉到了两个重要的概念——支持度和可信度。
支持度是针对频繁项集定义的 。一个项集的支持度是指数据集中包含该项集的记录所占的比例。上面的图片可以得到,{年奶}的支持度为4/5,{牛奶,面包}的支持度为3/5。因此,可以定义一个最小支持度,只要满足最小支持度的项集就被称为频繁项集。
可信度是针对关联规则定义的。“面包->牛奶”这一关联规则的可信度被定义为“支持度({面包,牛奶})/支持度({面包})”。已知{面包}的支持度为4/5,{面包,牛奶}的支持度为3/5,所以“面包->牛奶”的可信度为3/4=75%。这就意味着对于包含“面包”的所有记录,我们的规则对其中的75%的记录都适用。