11336241
葉均明
一、概述
由movielens評分資料集作為訓練集(含943名使用者對1682部電影的評分),根據使用者資訊和過往打分進行電影推薦,即允許使用者對自己所看過的電影進行打分,並且根據使用者歷史的打分資訊,為使用者**他對其他未**的電影的打分,或**他對其他電影的評分分類,將**分值高的電影推薦給使用者,認為這些電影是使用者下一步感興趣的電影。
二、思路
整理movielens評分資料集,使其包括如下資訊:使用者id,使用者資訊,含年齡、職業(泛化成21種)等,電影id,電影特性(泛化成18類),以及使用者對產品的評分資訊rating。然後,對評分資料集進行了訓練集和測試集的劃分,劃分比例為80%的訓練集+20%的測試集,共有5組隨機劃分的結果,這5組劃分中的測試集是互相不重疊的,即交叉驗證的資料集。
訓練方法可以嘗試採用回歸或分類的思想(如果用回歸模型,根據使用者資訊和過往評分可以得到其他未**電影的具體分值並排序;如果用分類模型,只能對其他未**電影進行分值的分類,並在最高評分的一類電影中隨機抽取進行推薦)。
三、建模
先整理出我們需要的評分資料集
base=read.table("u1.base",header=t)
test=read.table("u1.test",header=t)
user=read.table("u.user",header=t)
item=read.table("u.item",header=t)
testing=na
d=nrow(base)
for(i in 1:d)
在訓練集上用adaboost演算法得到乙個分類器
library(rpart)
library(mlbench)
library(lattice)
library(ggplot2)
library(caret)
library(adabag)
model.boosting=boosting(rating~.,data=training)
四、測試
整理測試集資料
testing=na
d=nrow(test)
for(i in 1:d)
進行**並檢查分類器在測試集上的正確率
pre.boosting=predict(model.boosting,testing)
summary(pre.boosting)
五、附件說明
1) u.item 電影類別,分為18類,0值表示不屬於,1值表示屬於
2) u1.base 隨機抽取80%的評分資料用於訓練
3) u1.test 隨機抽取20%的評分資料用於測試
4) u.user 使用者資訊,包括使用者id、年齡和職業,
其中,各職業編號如下:
1 technician 2 writer 3 executive 4administrator
5 student 6 lawyer 7 educator 8scientist
9 entertainment 10programmer 11 librarian 12homemaker
13 artist 14engineer 15 healthcare 16marketing
17 salesman 18 other 19retired 20 none
21 doctor
推薦系統 電影推薦系統(二)
als是交替最小二乘法的簡稱,是2008年以來,用的比較多的協同過濾演算法。它已經整合到spark的mllib庫中,使用起來比較方便。這裡可以想象一下,每個人的性格愛好可以認為是乙個抽象的模型,每個人的模型都有自己的乙個特點。因此,每個人對於商品的評價都有自己的一套規律,als演算法就是可以通過這些...
推薦系統 電影推薦系統(一)
二 電影推薦思路總結 資料儲存部分 離線推薦部分 實時推薦部分 系統初始化部分 離線推薦部分 實時推薦部分 業務系統部分 使用者電影特徵提取時,必須要有對應的資料,電影表,使用者表,使用者評價表。通過als演算法對評價表進行計算,計算出電影的特徵矩陣。通過電影特徵的矩陣計算得出每個電影最相似的幾個電...
基於Spark的電影推薦系統(推薦系統 1)
行業背景 快速 apache spark以記憶體計算為核心 通用 一站式解決各個問題,adhoc sql查詢,流計算,資料探勘,圖計算 完整的生態圈 只要掌握spark,就能夠為大多數的企業的大資料應用場景提供明顯的加速 猜你喜歡 為代表的推薦系統,從吃穿住行等專案背景介紹 本專案是乙個基於apac...