美文网首页
推荐系统——关联规则(2019-09-22)

推荐系统——关联规则(2019-09-22)

作者: sean5000 | 来源:发表于2019-11-14 14:44 被阅读0次

    关联规则算法首先由Agrawal和Swami提出,最早的成型为经典的Apriori算法。它的基本思想是:使用一种称作逐层搜索的迭代方法,k项集用于探索(k+1)项集。首先,通过扫描事务(交易)记录,找出所有的频繁1项集,该集合记做L1,然后利用L1找频繁2项集的集合L2,L2找L3,如此下去,直到不能再找到任何频繁k项集。最后再在所有的频繁集中找出强规则,即产生用户感兴趣的关联规则。

    关于这个算法有一个非常有名的故事:"尿布和啤酒":美国的妇女们经常会嘱咐她们的丈夫下班后为孩子买尿布,而丈夫在买完尿布后又要顺手买回自己爱喝的啤酒,因此啤酒和尿布在一起被购买的机会很多。这个举措使尿布和啤酒的销量双双增加,并一直为众商家所津津乐道。

    概念介绍:

    支持度:S(Support) 事物包含A B = P(x),表示事件x出现的概率;

    置信度:C(Confidence) 在A发生的事件中同时发生B的概率 P(AB)/P(A)  = P(B|A);

    频繁项集 :(Frequent Itemset)支持度大于等于特定的最小支持度(Minimum Support/minsup)的项集。表示为L k。

    连接步:L(k-1) 与其自身进行连接,产生候选项集 C(k) 。 L(k-1) 中某个元素与其中另一个元素可以执行连接操作的前提是它们中有(k-2) 个项是相同的。也就是只有一个项是不同的。如:项集 {I1,I2} 与 {I1,I5} 连接之后产生的项集是 {I1,I2,I5} ,而项集 {I1,I2} 与 {I3,I4}不能进行连接操作。

    剪枝步:C k是L k的超集,也就是说,C k的成员可能是也可能不是频繁的。通过扫描所有的事务(交易),确定C k中每个候选的计数,判断是否小于最小支持度计数,如果不是,则认为该候选是频繁的。为了压缩C k,可以利用Apriori性质:任一频繁项集的所有非空子集也必须是频繁的,反之,如果某个候选的非空子集不是频繁的,那么该候选肯定不是频繁的,从而可以将其从C k中删除。

    下面我们通过一个例子来解释:

    相关文章

      网友评论

          本文标题:推荐系统——关联规则(2019-09-22)

          本文链接:https://www.haomeiwen.com/subject/ivgyuctx.html