大数据旅游景点推荐系统 机器学习算法 协同过滤推荐算法 数据分析 可视化 django框架
1、项目介绍技术栈python 语言、django框架、MySQL数据库 、协同过滤推荐算法基于物品基于用户、Echarts可视化、HTML摘要随着流媒体时代的到来旅游推荐系统随之具有重要的地位。时代在进步科技在进步互联网改变了世界在互联网时代各行各业的人们都在寻求增长点人们的日常生活越来越离不开互联网。以旅游信息为例线下大量的各种旅游信息基本只会出现在旅游会上但是现如今人们越来越重视时间成本所以越来越多的年轻人在网上查找自己想要查找的旅游旅游信息。然而在互联网信息和海量数据源混合的情况下如何快速精确的找到自己想要的数据是一个值得探讨的问题。本系统使用Python开发 运用协同过滤推荐算法完成通过用户的行为向其推荐旅游的目的。后端主要使用Django框架前端页面的开发选择了Bootstrap 框架。利用MySQL数据库存储信息。本系统的前端用户模块主要包括注册、登录、旅游标签分类、旅游推荐、旅游列表、旅游排序等、后台管理模块主要包括用户管理、旅游旅游管理、用户权限管理等。推荐算法方面同时含有基于用户的协同过滤以及基于物品的协同过滤推荐。关键词 旅游推荐 协同过滤 Python可视化2、项目界面1首页—旅游景点排序2旅游景点详情页—点赞、收藏、评分、景点详情信息3基于用户推荐、基于物品推荐4景点评分与数量分析5景点词云图分析6旅游景点年份分析7省份占比分析8旅游景点分类9个人中心----我的收藏、评论、评分10后台数据管理3、项目说明3、项目说明随着流媒体时代的到来旅游推荐系统随之具有重要的地位。时代在进步科技在进步互联网改变了世界在互联网时代各行各业的人们都在寻求增长点人们的日常生活越来越离不开互联网。以旅游信息为例线下大量的各种旅游信息基本只会出现在旅游会上但是现如今人们越来越重视时间成本所以越来越多的年轻人在网上查找自己想要查找的旅游旅游信息。然而在互联网信息和海量数据源混合的情况下如何快速精确的找到自己想要的数据是一个值得探讨的问题。本系统使用Python开发运用协同过滤推荐算法完成通过用户的行为向其推荐旅游的目的。后端主要使用Django框架前端页面的开发选择了Bootstrap框架。利用MySQL数据库存储 信息。本系统的前端用户模块主要包括注册、登录、旅游标签分类、旅游推荐、旅游列表、旅游排序等、后台管理模块主要包括用户管理、旅游旅游管理、用户权限管理等。推荐算法方面同时含有基于用户的协同过滤以及基于物品的协同过滤推荐。关键词 旅游推荐 协同过滤 Python可视化5.3基于用户的旅游推荐功能该算法主要用相似统计的方法得到具有相似爱好或者兴趣的相邻用户。基于用户User-Based的协同过滤算法首先要根据用户历史行为信息寻找与新用户相似的其他用户同时根据这些相似用户对其他项的评价信息预测当前新用户可能喜欢的项。给定用户评分数据矩阵 R基于用户的协同过滤算法需要定义相似度函数 sU×U→R以计算用户之间的相似度然后根据评分数据和相似矩阵计算推荐结果。具体步骤如下第一步收集用户信息。收集可以代表用户兴趣的信息。一般的网站系统使用评分的方式或是给予评价这种方式被称为“主动评分”。另外一种是“被动评分”是根据用户的行为模式由系统代替用户完成评价不需要用户直接打分或输入评价数据。电子商务网站在被动评分的数据获取上有其优势用户购买的商品记录是相当有用的数据。第二步最近邻搜索(Nearest neighbor search, NNS)。以用户为基础User-based的协同过滤的出发点是与用户兴趣爱好相同的另一组用户就是计算两个用户的相似度。例如查找 n 个和 A 有相似兴趣用户把他们对 M 的评分作为 A 对 M 的评分预测。一般会根据数据的不同选择不同的算法 目前较多使用的相似度算法有 Pearson Correlation Coefficient皮尔逊相关系数、Cosine-based Similarity余弦相似度、Adjusted Cosine Similarity调整后的余弦相似度。图 5.2-6 基于用户的旅游推荐5.4基于物品的旅游推荐功能该以项目为基础的协同过滤方法有一个基本的假设“能够引起用户兴趣的项目必定与其之前评分高的项目相似”通过计算项目之间的相似性来代替用户之间的相似性。具体步骤如下第一步收集用户信息。同以用户为基础User-based协同过滤。第二步针对项目的最近邻搜索。先计算已评价项目和待预测项目的相似度并以相似度作为权重加权各已评价项目的分数得到待预测项目的预测值。例如要对项目 A 和项目 B 进行相似性计算要先找出同时对 A 和 B 打过分的组合对这些组合进行相似度计算。第三步产生推荐结果。以项目为基础的协同过滤不用考虑用户间的差别所以精度比较差。但是却不需要用户的历史数据或是进行用户识别。对于项目来讲它们之间的相似性要稳定很多因此可以离线完成工作量最大的相似性计算步骤从而降低了在线计算量提高推荐效率尤其是在用户多于项目的情形下尤为显著。在协同过滤算法中相似度的计算至关重要。只有计算了用户或者物品之间的相似度才能得出推荐列表.常用的相似度计算方法有以下几种1余弦相似度在 n 维空间中任意两个向量之间的夹角的余弦值大小即代表这两个向量的相似程度。余弦值的取值范围为[-1,1].假设 n 维空间中存在向量 i 和向量 j 式2-1为计算其余弦相似度的公式.2欧式距离欧式距离也称为欧几里得度量是指在 n 维向量空间中任意两个向量之间的自然长度.同样的假设存在向量 M 和 N则欧式距离表达公式如式2-2所示。3皮尔逊(Pearson)相关系数如果一个推荐算法使用的是皮尔森相关系数来计算相似度那么该算法将会比使用余弦相似度公式计算相似度的算法的精确度更高。然而这是要建立在两个用户拥有较多共同评分项目的基础上如果两个用户之间共同评分项目很少使用皮尔森相关系数进行计算无法反映出真实的相似度.假设存在两个向量J 与K这两个向量间的皮尔森相关系数计算公式如式2-3所示4、核心代码5、源码获取方式由于篇幅限制获取完整文章或源码、代做项目的查看我的【用户名】、【专栏名称】、【顶部选题链接】就可以找到我啦感兴趣的可以先收藏起来点赞、关注不迷路下方查看获取联系方式