前面讲的K-means 聚类算法是一种无监督学习,今天要学习的A-priori算法是一个‘先验算法’,通过该算法我们可以对数据集做关联分析(association analysis)。
用A-priori发现数据的频繁项集(frequent item),关联规则(association rules)。那什么是频繁项集与关联规则呢?
频繁项集:经常出现在一块的物品的集合。
关联规则:暗示两种物品直接可能存在很强的关系。
上面为frequent item与association rules的大白话解释,那么该如何定义和表示它俩呢?这里我们要引入支持度和可信度(置信度)。请您走向这个链接:Link_1
当您读到Link_1讲解代码的时候,我个人感觉博主梳理的知识逻辑比较不顺了,这个时候推荐您走向这个链接:Link_2
总结Link_2:Apriori适合小规模数据集,Apriori主要基于frequent item,所以本文引用的关联分析默认都是基于频繁集的关联分析。 如果存在一条关联规则,它的支持度和置信度都大于预先定义好的最小支持度与置信度,称之为强关联规则。
强关联规则可用来了解项之间的隐藏关系(Hidden Relationship),⭐:所以,association analysis的目的是为了寻找强关联规则,而A-priori则主要用来帮助寻找强关联规则。
频繁集由候选集剪枝(prunning)得到:
①利用各项支持度与min_sup(最小支持度)进行比较 => 最终频繁集结果
②利用最终频繁集结果以及各项置信度及min_conf(最小置信度) 进行比较 =>就可得强关联规则了
当您读完Link_2的时候,是不是感觉理论差不多都OK了呢?代码部分可以继续参考链接1与2。
小结一下:
后续介绍DHP算法:An optimization of A-priori
DIC算法:Dynamic itemset counting【Reduce Number of Scans】
由Sergey Brin (Founder of Google)发明。
参考资料(建议按顺序阅读)
关联分析之Apriori算法【精品】关联分析之Apriori算法_卧龙居-CSDN博客_关联分析apriori算法