基於鄰域的推薦演算法

2021-09-10 06:02:32 字數 2325 閱讀 2424

使用者相似度:

w uv

=∣n(

u)∩n

(v)∣

∣n(u

)∪n(

v)

∣w_ = \frac

wuv​=∣

n(u)

∪n(v

)∣∣n

(u)∩

n(v)

∣​w uv

=∣n(

u)∩n

(v)∣

∣n(u

)∣∣n

(v)∣

w_ = \frac}

wuv​=∣

n(u)

∣∣n(

v)∣​

∣n(u

)∩n(

v)∣​

建立物品-使用者倒排表,轉化為使用者相似度矩陣:

def

usersimilarity

(train)

:# build inverse table for item_users

item_users =

dict()

for u, items in train.items():

for i in items.keys():

if i not

in item_users:

item_users[i]

=set()

item_users[i]

.add(u)

#calculate co-rated items between users

c =dict()

n =dict()

for i, users in item_users.items():

for u in users:

n[u]+=1

for v in users:

if u == v:

continue

c[u]

[v]+=

1#calculate finial similarity matrix w

w =dict()

for u, related_users in c.items():

for v, cuv in related_users.items():

w[u]

[v]= cuv / math.sqrt(n[u]

* n[v]

)return w

usercf下使用者u

uu對物品i

ii的感興趣程度,s(u

,k

)s(u,k)

s(u,k)

是和使用者u

uu相似度最接近的k

kk個使用者,n(i

)n(i)

n(i)

是對物品i

ii有過行為的使用者集合:

p (u

,i)=

∑v∈s

(u,k

)∩n(

i)wu

vrvi

p(u, i) = \sum_w_r_

p(u,i)

=v∈s

(u,k

)∩n(

i)∑​

wuv​

rvi​

**實現:

def

recommend

(user, train, w)

: rank =

dict()

interacted_items = train[user]

for v, wuv in

sorted

(w[u]

.items, key=itemgetter(1)

, \ reverse=

true)[

0:k]

:for i, rvi in train[v]

.items:

if i in interacted_items:

#we should filter items user interacted before

continue

rank[i]

+= wuv * rvi

return rank

改進使用者相似度計算公式:

w uv

=∣n(

u)∩n

(v)∣

∣n(u

)∣∣n

(v)∣

w_ = \frac}

wuv​=∣

n(u)

∣∣n(

v)∣​

∣n(u

)∩n(

v)∣​

推薦系統實踐 基於鄰域演算法 閱讀筆記3

2.基於鄰域的推薦演算法 2.1 user cf演算法 1.計算使用者之間的相似度,得到目標使用者的興趣相似的集合 2.從這個集合中選取目標使用者沒有使用的物品作為推薦 流程 計算使用者的相似度 余弦相似度 1.建立物品 使用者的倒排索引表,通過將此表每個物品的對應使用者 兩兩標記 2.關於所有使用...

轉推薦演算法 基於矩陣分解的推薦演算法

其中,u1 u5 表示的是5 個不同的使用者,d1 d4 表示的是4 個不同的商品,這樣便構成了使用者 商品矩陣,在該矩陣中,有使用者對每一件商品的打分,其中 表示的是使用者未對該商品進行打分。在推薦系統中有一類問題是對未打分的商品進行評分的 目前推薦系統中用的最多的就是矩陣分解方法,在netfli...

推薦系統基礎演算法之基於內容的推薦演算法

基於內容的推薦方法的優點是 基於內容的推薦方法的缺點是 1.特徵 內容 提取,提取每個待推薦物品的特徵 內容屬性 例如電影 書籍 商品的分類標籤等。這些特徵往往分為兩種 結構化的特徵和非結構化的特徵。所謂結構化特徵就是特徵的取值限定在某個區間範圍內,並且可以按照定長的格式來表示。例如,電影類別特徵,...