关联分析与推荐系统
•什么是关联分析?
通过关联规则挖掘事物间存在的关系,从而总结出有意义的规律,进而指导我们的决策。
通过关联规则挖掘事物间存在的关系,从而总结出有意义的规律,进而指导我们的决策。
•典型应用:
购物篮分析
购物篮分析
首先,需要生产一个频繁项集。
这个步骤,个人认为是为了促使结果更有可信度,而不是某个典型,也是为了推出最后的强规则。
频繁项集的“频繁”用支持度来表示:
而“频繁”的标准则必须由一个阈值,如果支持度大于或等于某个阈值,那么该项集为频繁项集。
那么怎么生成频繁项集,步骤如下:
1、生成 1-项集,然后挑出符合阈值的1-项集,得到F1集合。
2、生成2-项集:将F1中的项集两两组合,并保证组合后的项集中的每个1-子项集均在F1中存在,然后挑出符合阈值的2-项集,得到F2集合。
……
其实此过程就是
1、设置k=1,开始挑出符合阈值的k-项集,生成FK
2、然后两两凑合,生成k+1项集,凑合过程要求:在所有凑合结果中只取k+1-项集的集合,同时还要求该集合的所有的k-项集都在FK当中。然后挑出出开始挑出符合阈值的k+1-项集,生成F(K+1)。
3、不断重复1、2步骤,直到只生成一个频繁项集。
得到频繁项集之后,那么就要根据就算置信度符合的的推理得到不同的强规则,置信度计算为:
这里有个技巧,先从k-项集抽出一个元素,然后根据以上公式算出部分规则,然后根据当前规则,推导其他的强规则,推导的原理是:
若一条关联规则的后件为a,那么所有以a的任一非空子集为后件的候选规则都是关联规则。
也就是说把强规则的后件自由组合,就能推出其他规则了。
Slope One 公式
例子里,主要是用来预测用户评分的
•U为用户集合,有n个用户
•I为项目集合,有m个项目
•Rij为用户Ui对项目Ij的打分,Rpq为需要预测的打分