首页 > 其他分享 >240826 计算电影推荐

240826 计算电影推荐

时间:2024-09-01 10:54:05浏览次数:12  
标签:pearson 240826 similarity 电影 dataset score user 计算 import


通过前面几天的knn相关知识,来计算电影推荐

240826 计算电影推荐_ide

import json
 import numpy as npfrom euclidean_score import euclidean_score
 from pearson_score import pearson_score
 from find_similar_users import find_similar_users
  
 # 为给定用户生成电影推荐
 def generate_recommendations(dataset, user):
     if user not in dataset:
         raise TypeError('User ' + user + ' not present in the dataset')    total_scores = {}
     similarity_sums = {}    for u in [x for x in dataset if x != user]:
         similarity_score = pearson_score(dataset, user, u)        if similarity_score <= 0:
             continue        for item in [x for x in dataset[u] if x not in dataset[user] or dataset[user][x] == 0]:
             total_scores.update({item: dataset[u][item] * similarity_score})
             similarity_sums.update({item: similarity_score})    if len(total_scores) == 0:
         return ['No recommendations possible']    # 生成电影评分列表
     movie_ranks = np.array([[total/similarity_sums[item], item] 
             for item, total in total_scores.items()])    # 根据皮尔逊进行排序
     movie_ranks = movie_ranks[np.argsort(movie_ranks[:, 0])[::-1]]    # 提取推荐电影
     recommendations = [movie for _, movie in movie_ranks]    return recommendations
  
 if __name__=='__main__':
     data_file = 'movie_ratings.json'    with open(data_file, 'r') as f:
         data = json.loads(f.read())
     
     user = 'Michael Henry'
     print "\nRecommendations for " + user + ":"
     movies = generate_recommendations(data, user) 
     for i, movie in enumerate(movies):
         print str(i+1) + '. ' + movie
    # 打印推荐电影列表
     user = 'John Carson' 
     print "\nRecommendations for " + user + ":"
     movies = generate_recommendations(data, user) 
     for i, movie in enumerate(movies):
         print str(i+1) + '. ' + movie

标签:pearson,240826,similarity,电影,dataset,score,user,计算,import
From: https://blog.51cto.com/u_15862653/11888526

相关文章

  • 240721 knn 计算用户1和用户2之间的评分-相关度
    knn通过计算电影相关度,计算用户1和用户2的评分importjsonimportnumpyasnp#计算欧式距离分数defeuclidean_score(dataset,user1,user2):ifuser1notindataset:raiseTypeError('User'+user1+'notpresentinthedataset')ifuser2n......
  • 基于python+flask框架的衣洗净管理系统的设计与实现(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着现代生活节奏的加快,人们对便捷、高效的生活服务需求日益增长。在日常生活中,洗衣作为家庭日常活动之一,占据了人们不少的时间和精力。传......
  • 基于python+flask框架的健康管理系统(在线轻问诊)(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景在健康意识日益增强的今天,人们对于便捷、高效的医疗服务需求日益增长。然而,传统医疗体系面临资源分配不均、就医流程繁琐等问题,使得部分患......
  • 基于python+flask框架的小麦服装管理系统(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着服装行业的快速发展与市场竞争的日益激烈,传统的小麦服装企业面临着库存管理复杂、销售渠道单一、顾客需求多变等挑战。为了提升企业的......
  • 基于python+flask框架的基于微信小程序的食疗坊软件开发(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景在快节奏的现代生活中,人们的健康意识日益增强,对饮食健康的需求也日益迫切。传统食疗作为中华民族的文化瑰宝,凭借其天然、安全、有效的特点......
  • 基于大数据的智慧社区服务系统设计与实现-计算机毕业设计源码+LW文档
    摘要随着信息技术的迅猛发展,大数据已经成为现代社会的重要资源。在智慧城市建设的大背景下,社区作为城市的基本单元,其服务水平直接关系到居民的生活质量和城市的整体形象。因此,利用大数据技术提升社区服务水平,构建智慧社区服务系统,成为当前研究的热点。通过智慧社区服务系统,可以实......
  • Java计算机毕业设计校园闲置物品租赁系统(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在当今快速发展的校园环境中,学生群体对于资源的利用效率与可持续性日益重视。随着教育资源的不断丰富和个人需求的多样化,学生们常面临购买成本高、使......
  • Java计算机毕业设计易行汽车租赁平台(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着城市化进程的加速和居民生活水平的提高,汽车租赁作为一种灵活、便捷的出行方式,正逐渐成为现代都市人出行的首选。易行汽车租赁平台应运而生,旨在通......
  • Java计算机毕业设计闲置交易系统(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着消费观念的转变和共享经济的蓬勃发展,闲置物品交易逐渐成为人们处理不再使用但仍有价值的物品的重要方式。传统二手市场存在信息不对称、交易效率......
  • Java计算机毕业设计学校职称申报评审系统(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在高等教育领域,随着教师队伍的不断壮大与专业化发展的深入,职称评审作为评价教师学术与教学贡献、激励教师专业成长的重要手段,其公正性、透明度和效率......