关联规则挖掘
经典例子###
一家大型超市对购物篮分析,发现经常有人同时购买啤酒和尿布。
原因:美国的妇女们经常会嘱咐她们的丈夫下班以后要为孩子买尿布。而丈夫在买完尿布之后又要顺手买回自己爱喝的啤酒。
决策:超市将啤酒和尿布摆放在一起,增加购买的机会。
什么叫做经常同时购买?####
通过支持度(support)与置信度(confidence)来衡量。
支持度:support(A-->B) = |AB|/|N| 商品A和B(如啤酒和尿布) 同时出现在同一个购物清单中的数量 / 总的购物清单数
置信度:confidence(A-->B) = |AB|/|A| 同时出现在同一个购物清单中的数量/A出现的数量。即规则A-->B的可信度。
可信度是对关联规则的准确度的衡量,支持度是对关联规则重要性的衡量。 支持度说明了这条规则在所有事务中有多大的代表性,显然支持度越大,关联规则越重要。
出现就行,不考虑一个购物清单中啤酒的数量。
关联挖掘###
给定一个数据集,从中找出所有支持度>最小支持度,置信度>最小置信度的关联规则(关联关系)
如果实现? 思路1: 穷举所有商品组合,看是否满足要求。 不可取
思路2: 1.找出频繁项集 2.生成规则
apriori算法###
消除一些完全不可能是频繁项的集合。
两个原则:
如果一个集合是频繁项集,则它的所有子集都是频繁项集
如果一个集合不是频繁项集,则它的所有超集都不是频繁项集
缺点:需要不停扫描全表数据
FP growth算法###
能不能扫描全表数据后,将需要的信息用个数据结构存储下。
稍微转换一下:
注意生成树的前,讲所有一项集按频繁度排序,排完再生成树
树生成后如何挖掘关联规则:FP-growth
参考佳文####
关联规则的常用算法 关联规则挖掘基本概念与Aprior算法 关联规则FpGrowth算法
Last updated