spark 2 3 ml 協同過濾推薦演算法ALS

2021-09-01 13:23:52 字數 1157 閱讀 5197

一.spark ml 協同過濾推薦演算法

相似度演算法

在spark mllib中提供了余弦相似度的分布式實現,org.apache.spark.mllib.linalg.distributed包中的indexedrowmatrix是乙個分布式矩陣類,其中提供了乙個columnsimilarities方法用於計算該矩陣各列之間的余弦相似度。

**值計算:採用加權求和的方法計算**值.

step 1:讀取使用者評分資料,設使用者數為u,物品數目為i,將資料轉換為以使用者為行,物品為列的二維矩陣r,r維度為(u×i)。矩陣的每乙個資料表示某個使用者對特定物品的評分。

step 2:計算r每列之間的相似度,可以得到維度(i×i)的矩陣s。s(i,j)表示物品i和物品j之間的相似度。

step 3:使用**值計算公式計算使用者對未評分物品的**評分。得到**評分矩陣p,p維度為(u×i),p(i,j) 表示使用者i對物品j的**評分。

二.關於官方例子:

官方例子是使用者-電影資料

很多人想把例子copy過來試試,卻不知道源資料是什麼樣子的。方法:spark-2.3.1-bin-hadoop2.7.tar 這個包大家很熟悉,解壓後裡面有很多目錄,data\mllib目錄下就有所有的源資料。官方的例子包括資料都是最優的,隨便訓練效果都很好,實際資料很糟糕。

三.下邊例子,我訓練的是使用者-主題,做的是某款軟體上的主題推薦。

最終**沒有放上,這只是最開始的demo。

import org.apache.spark.ml.evaluation.regressionevaluator

import org.apache.spark.ml.recommendation.als

import org.apache.spark.sql.sparksession

import org.apache.spark.storage.storagelevel

object user_theme_model

def main(args: array[string])

}四.結果,我入hive了

有興趣可以加我的大資料、資料分析、爬蟲群:

《453908562》

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

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

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

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

推薦系統 協同過濾

這是我學習推薦系統的筆記,主要參考的是51cto的一系列文章和人們郵電出版的 推薦系統實踐 首先說一下什麼是協同過濾。假如某寶要向你推薦一些商品,當然這些商品不是隨隨便便推薦的,推給你了就是引誘你去買,咱能賺到錢。那麼什麼樣的商品你有可能去買呢?系統或演算法怎麼找到這些商品呢?協同過濾就是幹這個的。...