基于协同过滤的影视推荐系统设计与实现
【摘要】:在当今社会,人们的生活水平在不断提高,又处在信息发展迅速的时代,人们生活中的很多行为习惯都被数据化。在这个信息超负荷的时代,大家在面对海量的信息时,肯定是希望花费少量的时间寻找到自己需要的信息。推荐系统作为网络时代的一种信息查询工具,在上世纪90年代作为一个独立的概念被提出后,其发展速度得到了很大的提高。个性化推荐算法技术在众多领域中都有广泛的应用,比如音乐媒体网站、网文阅读、交友社交网站等,目前在大多数电影网站中,并没有抓住观影者的兴趣爱好进而有针对性的进行个性化推荐,仅局限于根据当前所观看的电影类型来推荐几部相似的电影。用户在多次挑选电影无果后,往往会选择关闭该网站,选择其他途径获取自己喜欢的电影。针对以上现有视频网站存在的问题,本文提出基于协同过滤的影视推荐系统,使用的Django框架可以智能得保证项目数据和网站的安全性,另外为了可以提高电影推荐时的准确率,以及观影者对网站的忠诚度,将两种协同过滤算法优化后用于本系统的相似推荐。本系统的主要工作和研究内容如下:(1)选取Movie Lens数据集作为本推荐系统的基础,通过Python对数据集中的ratings.dat、movies.dat、users.dat文件进行预处理、数据分类聚类和重组筛选,将其转换为可以理解的格式和符合挖掘的格式。(2)采用二分-k Means算法获取相似用户,该算法是基于k均值聚类算法优化后的分类聚类算法。通过迭代调用k Means(k=2),多次将簇类划分,最终获得k个用户为止,从而既避免算法陷入局部最优状态,也提升了算法的速度。(3)采取改进后的基于User CF和基于Item CF的协同过滤算法相结合,优化相似度计算方式,通过使用惩罚项来惩罚两个用户兴趣列表交集中的热门物品,从而获取相似度更准确的k位相似用户。(4)基于本系统进行设计测试实验,准备实验的环境,包括如何获取测试数据和训练数据,通过训练数据得到观影者的喜好记录的相似度矩阵以及电影的相似度矩阵,选取k位近邻的相似用户来计算该用户的兴趣分值,最后根据User CF算法和Item CF算法在不同电影推荐数下的准确率进行对比分析。基于以上的技术研究,本文经过需求分析设计,实现了基于改进后的协同过滤的影视推荐系统,另外,通过对本系统改进后推荐算法的评估和系统测试,测试的试验结果和功能需求均符合预期效果。