1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        老板問我,什么是關聯(lián)規(guī)則推薦?

        共 3178字,需瀏覽 7分鐘

         ·

        2021-11-26 22:33

        工程架構方向的程序員,看到推薦/搜索/廣告等和算法相關的技術,心中或多或少有一絲膽怯。但認真研究之后,發(fā)現(xiàn)其實沒有這么難。

        今天給大家介紹下推薦系統(tǒng)中的“關聯(lián)規(guī)則推薦”,保證大伙弄懂。
        畫外音:可以看excel截圖,或者看公式,大伙結合自己能夠理解的程度自取。

        一、概念
        什么是關聯(lián)規(guī)則Association Rules?
        :關聯(lián)規(guī)則是數(shù)據(jù)挖掘中的概念,通過分析數(shù)據(jù),找到數(shù)據(jù)之間的關聯(lián)。電商中經(jīng)常用來分析購買物品之間的相關性,例如,“購買尿布的用戶,有大概率購買啤酒”,這就是一個關聯(lián)規(guī)則。
        畫外音:如果把買尿布記作A,買啤酒記作B。
        “買尿布的用戶有較大概率買啤酒”這個關聯(lián)規(guī)則記作A -> B。

        什么是關聯(lián)規(guī)則推薦Association Rule Based Recommendaion?
        :顧名思義,利用關聯(lián)規(guī)則,來實施推薦。關聯(lián)規(guī)則推薦的目標,是希望達到
        “將尿布放入購物車之后,再推薦啤酒”
        “直接推薦啤酒”
        獲取有更好的售賣效果。
        畫外音:這個目標非常非常重要,有些場景,或許直接推薦更有效。

        關聯(lián)規(guī)則推薦的典型應用
        (1)線下,可以將尿布和啤酒放在一起;
        (2)線上,可以在用戶將尿布放入購物車后,立刻推薦啤酒;

        二、如何實施
        假設某電商會售賣ABCD四種商品,歷史上共5筆訂單,分別賣出{A,B,C}, {B,C,D}, {A,B,C,D}, {A,C}, {C} 如何來實施“關聯(lián)規(guī)則”推薦呢?

        第一步:數(shù)據(jù)準備
        如上圖,縱坐標所有歷史訂單,橫坐標每筆訂單售出的商品

        第二步:計算關聯(lián)規(guī)則(組合商品)的支持度

        什么是支持度(support)?
        :共5筆訂單,3筆包含商品A,A的支持度是3/5。
        很容易計算出,各個商品的支持度。從支持度可以看出,Best Seller是商品C,100%的訂單中都包含商品C,C的支持度是1。

        除了單個商品,組合商品也有支持度。
        共5筆訂單,2筆同時包含AB,即A->B的支持度是2/5。
        畫外音:全局總共4種商品,假設關聯(lián)規(guī)則只關聯(lián)2種商品,則一共需要計算C(4,2)共6種組合商品的支持度{AB,AC,AD,BC,BD,CD}。

        支持度評估商品包含在訂單中的“概率”,一個訂單,有多大概率包含這個商品。
        畫外音:一般會先對支持度高的商品實施推薦,如果先實施優(yōu)化支持度低的商品,即使推薦效果翻倍,總體訂單提升效果也會很有限。

        第三步:計算關聯(lián)規(guī)則的置信度

        什么是置信度(confidence)?
        :已知購買了A,有多大概率購買了B(即同時購買了AB),稱A -> B的置信度。
        可以看到,商品A有3次購買,這3次中有2次購買了B,A->B的置信度是2/3。

        畫外音:額,本來不想貼公式的
        confidence(A->B) = support(A->B)/support(A)= (2/5)/(3/5) = 2/3
        這也相對比較好理解,
        (1)分子:support(A->B)是同時購買AB的比例;
        (2)分母:support(A)是只購買A的比例;
        二者相除,得到“購買了A,有多大概率購買B”,置信度的本質是條件概率。

        這里需要注意的是,X->Y與Y->X的置信度不一定相等。
        如上圖:
        B->C的置信度是1,買商品B時,100%會買C,
        C->B的置信度是3/5,買商品C時,只有3/5買了B。
        畫外音:

        support(B->C)=3/5

        support(C->B)=3/5

        confidence(B->C)=support(B->C)/support(B)=1

        confidence(C->B)=support(C->B)/support(C)=3/5

        公式是給程序看的,excel表格是給人看的,結果都一樣。

        第四步:計算關聯(lián)規(guī)則的提升度

        上一個例子里,confidence(B->C)=1,即:如果用戶購買商品B,100%會買C,那是不是意味著,如果用戶將商品B放入購物車,就可以向用戶推薦商品C呢?
        :不是。

        我們來回顧一下,關聯(lián)規(guī)則推薦的目標,是希望達到
        “將尿布放入購物車之后,再推薦啤酒”
        “直接推薦啤酒”
        獲取有更好的售賣效果
        雖然購買商品B,100%會買C
        畫外音:confidence(B->C)=1
        但直接推薦C,用戶也100%會買C
        畫外音:support(C)=1

        會發(fā)現(xiàn),購買B與購買C是獨立事件,用戶買不買C和用戶買不買B沒有直接關系。這里的關聯(lián)規(guī)則推薦,并沒有比直接推薦獲取更好的效果。

        用什么指標來評估關聯(lián)規(guī)則推薦的效果呢?
        :提升度。

        什么是提升度(lift)?
        :A->B關聯(lián)規(guī)則推薦,與直接推薦B,的比值,可以用來評估推薦效果:
        (1)大于1,說明有效,在購買A時推薦B,比直接推薦B,效果更好;
        (2)等于1,說明無關,購買A與購買B,是獨立事件;
        (3)小于1,說明負相關,購買A時推薦B,效果還不如直接推薦B;
        畫外音:又有公式了
        lift(A->B) =confidence(A->B)/support(B)
        這也相對比較好理解,
        (1)分子:confidence(A->B),購買A時,有多大概率同時購買B;
        (2)分母:support(B),有多大概率直接購買B;
        二者相除,得到效果是否更好。

        還是通過兩個直觀的例子來看。
        來看看關聯(lián)規(guī)則A->B,與直接推薦B,效果有沒有提升:
        (1)有3個訂單購買A,這3個訂單中有2個訂單購買了B,所以A->B的置信度是2/3,即買了A有2/3的概率會買B;
        (2)直接推薦B的話,5個訂單中有3個購買了B,所以B的支持度是3/5,即有3/5的概率會直接買B;
        會發(fā)現(xiàn),關聯(lián)規(guī)則推薦的效果更好。
        畫外音:根據(jù)公式

        confidence(A->B) =support(A->B)/support(A) = 2/3

        support(B) = 3/5

        lift(A->B) =confidence(A->B)/support(B) = 10/9

        lift(A->B) > 1

        故關聯(lián)規(guī)則推薦是正相關的。

        來看看關聯(lián)規(guī)則A->D,與直接推薦D,效果有沒有提升:
        (1)有3個訂單購買A,這3個訂單中有1個訂單購買了D,所以A->D的置信度是1/3,即買了A有1/3的概率會買D;
        (2)直接推薦D的話,5個訂單中有2個購買了B,所以D的支持度是2/5,即2/5的概率會直接買D;
        會發(fā)現(xiàn),關聯(lián)規(guī)則推薦的效果很差,還不如直接推薦。
        畫外音:根據(jù)公式

        confidence(A->D) =support(A->D)/support(A) = 1/3

        support(D) = 2/5

        lift(A->D) = confidence(A->D)/support(D)= 5/6

        lift(A->B) < 1

        故關聯(lián)規(guī)則推薦是負相關的。

        三、總結
        (1)關聯(lián)規(guī)則A->B推薦,目標是,在“用戶將A放入購物車時,推薦B”比“單獨推薦B”獲取更好的效果;
        (2)A->B的支持度,是用戶同時購買A和B概率;
        (3)A->B的置信度,是用戶購買A的同時,有多大概率購買B;
        (4)A->B的提升度,是“用戶購買A的同時,有多大概率購買B”與“直接購買B的概率”的比值:
        ?- 這個值大于1時,說明A->B有正向效果
        ?- 這個值等于1時,說明A和B是獨立事件
        ?- 這個值小于1時,說明A->B有負向效果

        1分鐘很快就過了,希望大家能有收獲。

        架構師之路-分享可落地的技術文章


        相關文章

        架構師之路,20年干貨精選


        老板問我,什么是協(xié)同過濾?

        老板問我,什么是基于內容的推薦?

        老板問我,沒有歷史行為記錄,怎么做推薦?


        都看到這兒了,不點個贊嗎

        瀏覽 113
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            大香蕉伊人在线播放 | 十八大禁止漫画 | 日韩18禁 | 欧美三级片在线观看 | 国产AV一区二区三区传媒 | 八人轮换和9人轮换的区别 | 丰满的峰乳喷奶水 | 99热这 | 女生扒开尿口让男生舔 | 亚洲欧美suv精品8888日 |