基于多方面评分的景点协同推荐算法

在携程网等流行的在线旅游平台上,用户对旅游景点的评分数据中不仅有用户对景点的总体评分,还有用户对景点在景色、趣味性、性价比这些方面的评分。利用这些评分是否能够更准确地表达用户对景点的喜好针对该问题,本文提出了一种基于多方面评分的景点协同推荐算法。该方法综合利用用户对景点在景色、趣味性、性价比方面的评分改进了用户和景点相似性的计算,再根据用户或者景点间的相似性预测目标用户对目标景点的总体评分。

利用用户对景点的总体评分、景色方面评分、趣味性方面评分、性价比方面评分信息可以构建用户-景点评分矩阵

式中:m为用户数;n为景点数;ri,j,1为用户i对景点j的总体评分,ri,j,2、ri,j,3、ri,j,4分别为用户i对景点j在景色、趣味性、性价比方面的评分。如果用户i对景点j没有评分,将ri,j,1、ri,j,2、ri,j,3、ri,j,4的值赋为0。

基于用户相似性的评分预测,如式(2):

式中:ru,1为用户u对其已评分景点总体评分的平均值;Usim(u)为与用户u相似性大于0的用户集合;u′为其中的一个用户;sim(u,u′)为用户u与用户u′的相似性;pred(u,s)给出目标用户u对目标景点s的总体评分的预测。

基于物品相似性的评分预测,如式(3):

式中:Ssim(s)为与景点s相似性大于0的景点集合;s′为其中的一个景点;sim(s,s′)为景点s与景点s′的相似性。

由于用户对景点不再只有一个总体评分,还有对景点多个方面的评分,利用这些评分可设计多种计算用户或物品间相似性的方法。

式中:s、t为景点;U为景点s和景点t共同评分的用户集合;u为其中的一个用户;rs,1、rt,1分别为用户集U中的用户对景点s和景点t总体评分的平均值;rs,k、rt,k分别为用户集U中的用户对景点s和景点t在第k个方面评分的平均值;rs、rt分别为用户集U中的用户对景点s和景点t在景色、趣味性、性价比方面所有评分的平均值。式(11)利用总体评分计算物品间的相似性;式(12)分别利用景色、趣味性、性价比评分计算物品间的相似性;式(13)和式(14)综合利用用户对景点在景色、趣味性、性价比三个方面的评分计算物品间的相似性。

为了方便试验,对数据进行以下处理:

(1)删除重复的用户评分记录,选择用户对景点的最近评分作为该用户对该景点的评分;

(2)删除只有1~2条评分记录的用户;

(3)删除没有用户评分的景点。

经过预处理后,桂林旅游数据集最终包括162个景点、2189个用户、用户对景点的11143条评分记录;杭州旅游数据集最终包括210个景点、3009个用户、用户对景点的17927条评分记录;上海旅游数据集最终包括270个景点、7074个用户、用户对景点的46962条评分记录。

为了检验提出的基于多方面评分的相似性计算方法的效果,采用了最常见的5个指标对试验结果进行评估:均方根误差、平均绝对误差、覆盖率、准确率和F-度量。

(1)均方根误差(root-mean-squareerror,RMSE)

(2)平均绝对误差(mean-absoluteerror,MAE)

式中:E为测试集;|E|为集合中元素的个数;(ui,sj)表示一个用户-景点对;rij为用户ui对景点sj的真实评分;rij为用户ui对景点sj的预测评分。均方根误差和平均绝对误差越小,预测评分与真实评分的差距也越小,推荐效果就越好。

(3)覆盖率(coverage)

式中:k为能够计算预测评分的用户-景点对数,M为用户对景点有总体评分的数量。在本研究中,如果预测评分不为0,则认为用户对景点的评分能够预测;如果预测评分为0,则认为用户对景点的评分不能够预测。覆盖率描述的就是预测评分不为0的样本数占总样本数的比例,覆盖率越高,推荐效果就越好。

(4)准确率(precision):

(5)F-度量(F-measure):

有时准确率和覆盖率二者会相互矛盾,如有时准确率的提升是以减小覆盖率为代价,或者提高覆盖率时准确率却下降。因此本研究采用了F-度量这一综合评价指标来权衡准确率和覆盖率。F-度量越大,推荐效果也就越好。

第一组和第二组对比试验基于用户间的相似性,预测目标用户对目标物品的总体评分:

Ucf_global:利用式(4)计算用户间相似性;

Ucf_scenery:利用式(5)(k=2)计算用户间相似性;

Ucf_interest:利用式(5)(k=3)计算用户间相似性;

Ucf_price:利用式(5)(k=4)计算用户间相似性;

Ucf_sip1:利用式(6)计算用户间相似性;

Ucf_sip2:利用式(7)计算用户间相似性。

第二组对比试验为:

Ucf_itempop:利用式(8)计算用户间相似性;

Ucf_itempop_sip1:利用式(9)计算用户间相似性。

第三组试验基于物品间相似性,预测目标用户对目标物品的总体评分:

THE END
1.推荐算法——基于物品的协同过滤算法标签: 算法 收藏 基于用户的协同过滤算法在用户增长的时候,相似度计算的计算会越来越困难。基于物品的算法给用户推荐他们之前喜欢的物品相似的物品。 算法步骤 计算物品之间的相似度 根据物品的相似度和用户的历史行为给用户生成推荐列表 相似度公式如下: wij=|N(i)∩N(j)||N(i)||N(j)|...https://www.imooc.com/article/27099
2.推荐系统协同过滤算法的评价,得出用户 对商品 的评价; 用户相似度计算:可以采用余弦相似度、皮尔曼相关系数等;在对传统协同过滤改进的工作中,研究人员也是通过对相似度定义的改进来解决传统的协同过滤算法存在的一些缺陷。下式中, 分别表示用户i,j对应的向量。 表示用户 对物品 ...https://www.jianshu.com/p/0023df43622a
3.协同过滤算法深入解析:构建智能推荐系统的核心技术一、前言随着互联网的高速发展,我们每天面临着海量信息的冲击,从而使得我们无法有效地筛选出感兴趣的信息。在这种背景下,推荐系统应运而生,成为帮助用户过滤信息,找到自己感兴趣内容的有效工具。协同过滤算法作为推荐系统中的一种核心技术,广泛应用于电商、社交媒体、https://developer.aliyun.com/article/1267365
4.大数据实训案例——电影推荐系统(Scala版)图书过滤算法 87 6.1 推荐系统概述 87 6.1.1 什么是推荐系统 87 6.1.2 长尾理论 88 6.1.3 推荐方法 88 6.1.4 推荐系统模型 89 6.1.5 推荐系统的应用 89 6.2 协同过滤算法 90 6.2.1 基于用户的协同过滤 90 6.2.2 基于物品的协同过滤 91 6.2.3 UserCF算法和ItemCF算法的 对比92 6.2.4 基于模型的协同过...https://www.ryjiaoyu.com/book/details/9425
1.推荐系统前深度学习时代推荐算法(1):协同过滤(CF)文章浏览阅读1.4k次,点赞20次,收藏20次。推荐系统可以分为前深度学习时代和深度学习时代两大类。前者包括协同过滤推荐、基于内容的推荐和混合推荐。协同过滤通过用户或物品间的相似性进行推荐,分为基于用户和基于物品两种类型。基于用户的协同过滤计算用户间相似度,推荐https://blog.csdn.net/qq_58872188/article/details/143798469
2.算法推荐算法协同过滤腾讯云开发者社区协同过滤推荐(Collaborative Filtering recommendation)是在信息过滤和信息系统中正迅速成为一项很受欢迎的技术。与传统的基于内容过滤直接分析内容进行推荐不同,协同过滤分析用户兴趣,在用户群中找到指定用户的相似(兴趣)用户,综合这些相似用户对某一信息的评价,形https://cloud.tencent.com/developer/article/1170685
3.PythonDjango网页界面协同过滤推荐算法实现商品管理与推荐商品管理与推荐系统,本系统使用Python作为主要开发语言,前端采用HTML、CSS、BootStrap等技术搭建显示界面,后端采用Django框架处理用户的请求响应+ 目录 介绍 创新点:使用协同过滤算法,以用户对商品的评分作为依据,在猜你喜欢界面中实现对当前登录用户的个性化推荐。 主要功能有: 系统分为用户和管理员两个角色。 用户可以...https://www.jb51.net/python/305546cjo.htm
4.java代码实现协同过滤算法商品推荐基于协同过滤算法java代码实现协同过滤算法商品推荐 基于协同过滤算法,一.基于用户的协同过滤算法简介在推荐系统的众多方法之中,基于用户的协同过滤是诞最早的,原理也比较简单。基于协同过滤的推荐算法被广泛的运用在推荐系统中,比如影视推荐、猜你喜欢等、邮件过滤等。该算法1992年提出https://blog.51cto.com/u_16213604/10293525