相信大家都听说过“啤酒与尿布“的经典案例,分析人员通过对一家商店大量的商品购买记录进行分析后发现,啤酒与尿布经常一起被购买。这种神奇的组合我们单从肉眼上可能很难发现,这个案例用到的算法就是Apriori算法。该算法能够帮助我们发现频繁项集和挖掘关联规则,频繁项集是指那些经常出现在一起的物品组合。案例中的{啤酒,牛奶}就是频繁项集。关联规则暗示两种物品之间可能存在很强的关系。
举个例子说明与Apriori算法相关的概念:支持度,可信度或置信度。假设我有一份来自某个食品店的简单交易清单,如下:
交易号码 | 商品 |
---|---|
0 | 豆奶,莴苣 |
1 | 莴苣,尿布,葡萄酒,甜菜 |
2 | 豆奶,尿布,葡萄酒,橙汁 |
3 | 莴苣,豆奶,尿布,葡萄酒 |
4 | 莴苣,豆奶,尿布,橙汁 |
支持度:一个项集的支持度被定义为数据集中包含该项集的记录所占的比例。在上面的交易清单中,一共有5条交易记录,包含{豆奶}的交易记录有4条,所以{豆奶}的支持度为4/5,而包含{豆奶,尿布}的交易记录为3条,因此{豆奶,尿布}的支持度为3/5。支持度是针对项集来说的,上述的{豆奶}和{豆奶,尿布}都是项集。我们可以定义一个最小支持度,