日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

ML之RS之CF:基于用户的CF算法—利用大量用户的电影及其评分数据集对一个新用户Jason进行推荐电影+(已知Jason曾观看几十部电影及其评分)

發布時間:2025/3/21 27 豆豆

ML之RS之CF:基于用戶的CF算法—利用大量用戶的電影及其評分數據集對一個新用戶Jason進行推薦電影+(已知Jason曾觀看幾十部電影及其評分)

?

?

目錄

輸出結果

實現代碼


?

?

?

輸出結果

先看推薦結果顯示

?

實現代碼

from math import sqrt#pearson距離 def pearson_dis(rating1, rating2):sum_xy = 0sum_x = 0sum_y = 0sum_x2 = 0sum_y2 = 0n = 0for key in rating1:if key in rating2:n += 1x = rating1[key]y = rating2[key]sum_xy += x * ysum_x += xsum_y += ysum_x2 += pow(x, 2)sum_y2 += pow(y, 2)# now compute denominatordenominator = sqrt(sum_x2 - pow(sum_x, 2) / n) * sqrt(sum_y2 - pow(sum_y, 2) / n)if denominator == 0:return 0else:return (sum_xy - (sum_x * sum_y) / n) / denominator#查找最近鄰函數 def computeNearestNeighbor(username, users):"""在給定username的情況下,計算其他用戶和它的距離并排序"""distances = []for user in users: #全用戶遍歷,找到兩個用戶,計算pearson距離,依次添加到列表內if user != username: #distance = manhattan_dis(users[user], users[username])distance = pearson_dis(users[user], users[username])distances.append((distance, user))distances.sort()return distances#進行推薦函數 def recommend(username, users):nearest = computeNearestNeighbor(username, users)[0][1]recommendations = []neighborRatings = users[nearest]userRatings = users[username]for artist in neighborRatings:if not artist in userRatings:recommendations.append((artist, neighborRatings[artist]))results = sorted(recommendations, key=lambda artistTuple: artistTuple[1], reverse = True)for result in results:print(result[0], result[1])recommend('Jason', users)

?

?

?

相關文章推薦

ML之RS之CF:基于用戶的CF算法—利用大量用戶的電影及其評分數據集對一個新用戶Jason進行推薦電影+(已知Jason曾觀看幾十部電影及其評分)

?

?

總結

以上是生活随笔為你收集整理的ML之RS之CF:基于用户的CF算法—利用大量用户的电影及其评分数据集对一个新用户Jason进行推荐电影+(已知Jason曾观看几十部电影及其评分)的全部內容,希望文章能夠幫你解決所遇到的問題。

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