天天看點

基于使用者的協同過濾推薦算法WEB版代碼實作

基于使用者的協同過濾推薦算法WEB版代碼實作

一、開發工具及使用技術

MyEclipse10、jdk1.7、tomcat7、jsp、servlet、javascript、jquery、bootstrap、mahout API、movielens資料集。

二、開發過程

1、InitListener監聽器。項目啟動後執行application監聽器,主要用于讀取u.item(電影資訊)、u.user(使用者資訊),并儲存在記憶體中(movielens資料集儲存在項目中),便于後期使用,同時初始化使用者的年齡和性别分類資料,用于首頁網頁展示分類統計資訊。代碼如下:

基于使用者的協同過濾推薦算法WEB版代碼實作

2、建立使用者、電影實體類。将資料集檔案中的使用者、電影資料封裝成java bean便于操作。代碼如下:

基于使用者的協同過濾推薦算法WEB版代碼實作
基于使用者的協同過濾推薦算法WEB版代碼實作

3、CFUtil協同過濾推薦工具類。傳統的基于使用者的協同過濾薦算法主要分四步驟:建構使用者-評分矩陣模型、計算使用者之間相似度、得到目标使用者最近鄰居、推薦結果。使用mahoutAPI接口實作代碼如下:

基于使用者的協同過濾推薦算法WEB版代碼實作

三、運作結果

1、項目首頁,使用者輸入目标使用者ID,和最近鄰數量(也可以通過閥值确定最近鄰居)

基于使用者的協同過濾推薦算法WEB版代碼實作

下圖為根據使用者資訊分别統計資料集中性别分布和年齡分布:

基于使用者的協同過濾推薦算法WEB版代碼實作

2、推薦結果頁面,展示目标使用者ID,最近鄰數量,推薦數量為系統預設10個,推薦結果展示電影ID、電影名稱、發行時間、預測評分。

基于使用者的協同過濾推薦算法WEB版代碼實作

需用程式源代碼的朋友可留言。

繼續閱讀