協同過濾常常被用於分辨某位特定顧客可能感興趣的東西,這些結論來自於其他相似顧客對哪些產品感興趣的分析。
資料結構
協同過濾,主要收集每個使用者對使用過的物品的評價。
評價可以理解為經常在電商**上出現的,五星級的評分。
注意:不同使用者的評分標準不同,所以需要對評分進行標準化處理。
標準化為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.用余弦距離計算每個使用者與其它使用者的行為相似度 下面 是兩個使用者之間的相似度,進行遍歷就可以獲取全部相似...
協同過濾演算法
乙個人想看電影的時候常常會思考要看什麼電影呢。這個時候他可能會問周圍愛好的人求推薦。現在社會每天都會產生海量的資訊。面對這麼多資訊好多人都不知道什麼資訊是自己需要的。推薦系統正是起了這麼乙個作用。推薦系統的應用隨處可見。網路購物是乙個典型的例子,電子商務的運營商往往會根據使用者在 的行為推薦使用者可...