R中協同過濾演算法

2021-08-04 06:13:50 字數 1407 閱讀 6132

協同過濾常常被用於分辨某位特定顧客可能感興趣的東西,這些結論來自於其他相似顧客對哪些產品感興趣的分析。

資料結構

協同過濾,主要收集每個使用者對使用過的物品的評價。

評價可以理解為經常在電商**上出現的,五星級的評分。

注意:不同使用者的評分標準不同,所以需要對評分進行標準化處理。

標準化為0-1之間的值。

①使用者評分向量

②商品評分向量

③向量距離計算(採用歐氏距離)

④相似度計算(similarity)

sim(x,y)=1/1+d(x,y)

⑤越接近1越相似,越接近0越不相似

⑥相似鄰居計算

不論鄰居的「遠近」,只取最近的k個,作為其鄰居。

基於相似度門檻的鄰居計算是對鄰居的遠近進行最大值的限制,落在以當前點為中心,距離k的區域的所有點都作為當前點的鄰居。

(api就是作業系統留給應用程式的乙個呼叫介面,應用程式通過呼叫作業系統的 api 而使作業系統去執行應用程式的命令)

install.packages(「recommenderlab」)

recommender(x,method=」ubcf」,parameter)

1、x 訓練樣本

2、method 推薦方法,ubcf為基於使用者的協同過濾方法

3、parameter推薦方法的引數(是乙個list物件)

method 距離的計算方法

nn 固定鄰居的數量

normalize是否標準化,預設為false

**實現:

library(recommenderlab)

data

rmrec

rm,

method="ubcf",

parameter=list(

method="euclidean",

nn=3

))pre

as(pre, 'list')

$`1`

[1] "104"

$`2`

[1] "107"

我們可以看到,給使用者1推薦的是104,給使用者2推薦的是107

協同過濾演算法目前應用於各大電商**,我們經常可以電商**中看到猜你喜歡之類的欄目,就是根據協同過濾演算法得到的結果!

協同過濾演算法

3種形式的協同過濾 collaborative filtering 演算法 1 user based 相同 相似 使用者的喜好相同 2 item based 能夠引起使用者興趣的專案,必定與其之前評分高的專案相似 3 model based 先用歷史資料得到乙個模型,再用此模型進行 參考 這個位址是...

協同過濾演算法

1.表示使用者行為矩陣,即統計使用者購買某種商品型別的數量 public double getnumbycustomer customer customer return vectore 2.用余弦距離計算每個使用者與其它使用者的行為相似度 下面 是兩個使用者之間的相似度,進行遍歷就可以獲取全部相似...

協同過濾演算法

乙個人想看電影的時候常常會思考要看什麼電影呢。這個時候他可能會問周圍愛好的人求推薦。現在社會每天都會產生海量的資訊。面對這麼多資訊好多人都不知道什麼資訊是自己需要的。推薦系統正是起了這麼乙個作用。推薦系統的應用隨處可見。網路購物是乙個典型的例子,電子商務的運營商往往會根據使用者在 的行為推薦使用者可...