日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

基于协同过滤算法和内容推荐算法实现电影推荐系统

發布時間:2023/12/10 windows 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于协同过滤算法和内容推荐算法实现电影推荐系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基于協同過濾算法和內容推薦算法實現電影推薦系統

本電影推薦系統算法是基于人人相似的協同過濾算法和基于內容的推薦算法相結合的混合推薦算法

混合推薦算法大致流程:

首先對數據集使用人人相似的協同過濾算法, 計算每個人與其他人的cos相似度, 選擇相似度最高的人,推薦他看過的電影. 若最高相似度小于0.2則認為沒有人與之相似, 改為采用基于內容的推薦算法解決. 若相似度最高的用戶沒有評分過4分的電影可推薦, 也采用基于內容的推薦算法進行推薦.

人人相似的協同過濾算法:

  • 根據movieId合并movies.csv和ratings.csv,得到merged.csv

  • 讀取merge.csv獲取data字典, 格式為{userid:{movieid:rating, movieid:rating}}

  • 修正data字典, 具體為計算每部電影平均分, 將該電影的所有評分減去平均分, 使得該電影的未評價用戶的默認評分為0, 以便于計算

  • 對于每個用戶, 計算他與其他所有用戶的cos相似度, 記錄最高相似度的用戶和兩個用戶的相似度, 最后獲得最高相似度的用戶列表

  • 將與該用戶相似度最高的用戶的電影進行排序, 并與該用戶的電影進行比較, 選擇該用戶未看過且評分大于4的電影推薦給該用戶

  • 如果出現最高相似度小于0.2, 或者最高相似度的用戶沒有電影可以推薦時, 采用基于內容的推薦算法

  • 基于內容的推薦算法

  • 獲取三種數據結構, 用戶標簽喜愛度列表, 不同標簽的電影的評分排序以及每一部電影的種類

  • 用戶標簽喜愛度列表:

    標簽喜愛度計算公式=所在電影的原始權重所在電影的用戶評分時間加權

    其中, 所在電影原始權重=1/該電影的標簽數

    ? 時間加權=時間戳的歸一化

  • 不同標簽的電影的評分排序: 評分是指每一部電影的平均分

    數據結構: {tag:[ (movieId, rating), (movieId, rating) ]}

  • 每一部電影的種類:

    數據結構: { movieId: { tag:ratio, tag:ratio }}

  • 獲取每個用戶標簽喜愛度排名前兩名的標簽和它們的權重, 根據權重計算該標簽推薦的電影數, 在不同標簽的電影評分排序這個數據結構中找到該標簽下排名前幾名的電影進行推薦

  • 代碼下載: 電影推薦系統

    總結

    以上是生活随笔為你收集整理的基于协同过滤算法和内容推荐算法实现电影推荐系统的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。