首先,上傳u.data和u.item至/home/data資料夾下,並啟動spark(spark-shell)。
1、匯入資料並檢視
val rawuserdata=sc.
textfile
("file:/home/data/u.data"
)
2、檢視前五條資訊,以及userid,itemid,評分資訊
textfile.
take(5
).foreach
(println)
rawuserdata.
map(_.
split
("\t")(
1).todouble)
.stats()
//檢視userid資訊
rawuserdata.
map(_.
split
("\t")(
0).todouble)
.stats()
//檢視itemid資訊
rawuserdata.
map(_.
split
("\t")(
2).todouble)
.stats()
//檢視評分資訊
3、匯入als和rating鏈結庫
4、讀取rawuserdata的前三個字段
val rawratings=rawuserdata.
map(_.
split
("\t").
take(3
))
5、準備als訓練資料
6、使用als.train命令進行訓練
7、針對使用者***推薦前5部電影
8、檢視針對使用者196推薦電影1154的評分
model.
predict
(196
,1154
)
9、針對電影958推薦給5個使用者
10、建立電影id與名稱的對照表
11、顯示電影id名稱對應表的前5條記錄
12、查詢id為146的電影名稱
movietitle
(146
)
13、顯示前5條推薦給使用者196的電影名稱
推薦系統之 推薦系統例項
前面幾章介紹了各種各樣的資料和基於這些資料的推薦演算法。在實際系統中,前面幾章提到的資料大都存在,因此如何設計乙個真實的推薦系統處理不同的資料,根據不同的資料設計演算法,並將這些演算法融合到乙個系統當中是本章討論的主要問題。本章將首先介紹推薦系統的外圍架構,然後介紹推薦系統的架構,並對架構中每個模組...
基於Spark的電影推薦系統(推薦系統 1)
行業背景 快速 apache spark以記憶體計算為核心 通用 一站式解決各個問題,adhoc sql查詢,流計算,資料探勘,圖計算 完整的生態圈 只要掌握spark,就能夠為大多數的企業的大資料應用場景提供明顯的加速 猜你喜歡 為代表的推薦系統,從吃穿住行等專案背景介紹 本專案是乙個基於apac...
推薦 基於Spark的ALS演算法
als alternating least squares 交替最小二乘法 在現實中使用者 物品 評分矩陣是及其大的,使用者消費有限,對單個使用者來說,消費的物品的非常有限的,產生的評分也是比較少的,這樣就造成了使用者 物品矩陣有大量的空值。假定使用者的興趣只受少數因素的影響,所以使用者 物品矩陣可...