基於協同過濾演算法的推薦

2021-09-13 01:47:00 字數 2156 閱讀 1182

基於協同過濾演算法的推薦

(本實驗選用資料為真實電商脫敏資料,僅用於學習,請勿商用)

資料探勘的乙個經典案例就是尿布與啤酒的例子。尿布與啤酒看似毫不相關的兩種產品,但是當超市將兩種產品放到相鄰貨架銷售的時候,會大大提高兩者銷量。很多時候看似不相關的兩種產品,卻會存在這某種神秘的隱含關係,獲取這種關係將會對提高銷售額起到推動作用,然而有時這種關聯是很難通過經驗分析得到的。這時候我們需要借助資料探勘中的常見演算法-協同過濾來實現。這種演算法可以幫助我們挖掘人與人以及商品與商品的關聯關係。

協同過濾演算法是一種基於關聯規則的演算法,以購物行為為例。假設有甲和乙兩名使用者,有a、b、c三款產品。如果甲和乙都購買了a和b這兩種產品,我們可以假定甲和乙有近似的購物品味。當甲購買了產品c而乙還沒有購買c的時候,我們就可以把c也推薦給乙。這是一種典型的user-based情況,就是以user的特性做為一種關聯。

一、業務場景描述

通過乙份7月份前的使用者購物行為資料,獲取商品的關聯關係,對使用者7月份之後的購買形成推薦,並評估結果。比如使用者甲某在7月份之前買了商品a,商品a與b強相關,我們就在7月份之後推薦了商品b,並探查這次推薦是否命中。

二、資料集介紹

資料來源:本資料來源為天池大賽提供資料,資料按時間分為兩份,分別是7月份之前的購買行為資料和7月份之後的。

具體字段如下:

資料截圖:

三、資料探索流程

本次實驗選用的是pai-studio作為實驗平台,僅通過拖拽元件就可以快速實現一套基於協同過濾的推薦系統。

實驗流程圖:

1.協同過濾推薦流程

首先輸入的資料來源是7月份之前的購物行為資料,通過sql指令碼取出使用者的購買行為資料,進入協同過濾元件,這麼做的目的是簡化流程,因為購買行為對這次實驗分析是最有價值的。協同過濾的元件設定中把topn設定成1,表示每個item返回最相近的item和它的權重。通過購買行為,分析出哪些商品被同乙個user購買的可能性最大。設定圖如下:

協同過濾結果,表示的是商品的關聯性,itemid表示目標商品,similarity欄位的冒號左側表示與目標關聯性高的商品,右邊表示概率:

比如上圖的第一條,itemid1000和item15584的相似度為0.2747133918,相似度越高表示兩個物品被同時選擇的概率越大。

2.推薦

上述步驟介紹了如何生成強關聯商品的對應列表,這裡使用了比較簡單的推薦規則,比如使用者甲某在7月份之前買了商品a,商品a與b強相關,我們就在7月份之後推薦了商品b,並探查這次推薦是否命中。這個步驟是通過下圖實現的:

3.結果統計

上面是統計模組,左邊的全表統計展示的是根據7月份之前的購物行為生成的推薦列表,去重後一共18065條。右邊的統計元件顯示一共命中了90條,命中率0.4%左右。

1)首先本文只是針對了業務場景大致介紹了協同過濾推薦的用法。很多針對於購物行為推薦的關鍵點都沒有處理,比如說時間序列,購物行為一定要注意對於時效性的分析,跨度達到幾個月的推薦不會有好的效果。其次沒有注意推薦商品的屬性,本文只考慮了商品的關聯性,沒有考慮商品是否為高頻或者是低頻商品,比如說使用者a上個月買了個手機,a下個月就不大會繼續購買手機,因為手機是低頻消費品。

協同過濾推薦演算法 推薦演算法 基於協同過濾CF

前邊我們已經介紹了推薦演算法裡的基於內容的推薦演算法cb,今天我們來介紹一下基於協同的推薦演算法collaboration filtering cf 協同過濾是乙個利用群體智慧型的乙個演算法,舉乙個簡單的例子,如果放假了你想去北京玩幾天,但是不知道北京都有哪些好玩的,你會怎麼做?你可能會上網查一下的...

基於協同過濾的推薦演算法

推薦系統 根據使用者的歷史行為,挖掘出使用者的喜好,為使用者推薦與其喜好相符的商品或資訊。推薦系統的任務是將資訊和使用者連線,幫助使用者找到感興趣的資訊,讓有價值的資訊能觸達潛在的使用者。推薦問題描述 核心問題是為使用者推薦與其興趣相似度比較高的商品。用一函式f x 計算候選商品與使用者之間的相似度...

協同過濾推薦演算法 協同過濾推薦演算法總結

推薦演算法具有非常多的應用場景和商業價值,因此對推薦演算法值得好好研究。推薦演算法種類很多,但是目前應用最廣泛的應該是協同過濾類別的推薦演算法,本文就對協同過濾類別的推薦演算法做乙個概括總結,後續也會對一些典型的協同過濾推薦演算法做原理總結。推薦演算法概述 1 基於內容的推薦 這一類一般依賴於自然語...