win7 iis网站无法显示中小学网络云平台
2026/1/14 17:13:36 网站建设 项目流程
win7 iis网站无法显示,中小学网络云平台,wordpress 打开变慢,网站设计技术文章博主介绍#xff1a;✌全网粉丝10W#xff0c;前互联网大厂软件研发、集结硕博英豪成立软件开发工作室#xff0c;专注于计算机相关专业项目实战6年之久#xff0c;累计开发项目作品上万套。凭借丰富的经验与专业实力#xff0c;已帮助成千上万的学生顺利毕业#xff0c;…博主介绍✌全网粉丝10W前互联网大厂软件研发、集结硕博英豪成立软件开发工作室专注于计算机相关专业项目实战6年之久累计开发项目作品上万套。凭借丰富的经验与专业实力已帮助成千上万的学生顺利毕业选择我们就是选择放心、选择安心毕业✌ 想要获取完整文章或者源码或者代做拉到文章底部即可与我联系了。点击查看作者主页了解更多项目感兴趣的可以先收藏起来点赞、关注不迷路大家在毕设选题项目以及论文编写等相关问题都可以给我留言咨询希望帮助同学们顺利毕业 。1、毕业设计2026年计算机专业毕业设计选题汇总建议收藏✅2、最全计算机专业毕业设计选题大全建议收藏✅1、项目介绍技术栈python 语言、django框架、MySQL数据库、协同过滤推荐算法基于物品基于用户、Echarts可视化、HTML摘要随着流媒体时代的到来旅游推荐系统随之具有重要的地位。时代在进步科技在进步互联网改变了世界在互联网时代各行各业的人们都在寻求增长点人们的日常生活越来越离不开互联网。以旅游信息为例线下大量的各种旅游信息基本只会出现在旅游会上但是现如今人们越来越重视时间成本所以越来越多的年轻人在网上查找自己想要查找的旅游旅游信息。然而在互联网信息和海量数据源混合的情况下如何快速精确的找到自己想要的数据是一个值得探讨的问题。本系统使用Python开发运用协同过滤推荐算法完成通过用户的行为向其推荐旅游的目的。后端主要使用Django框架前端页面的开发选择了Bootstrap框架。利用MySQL数据库存储信息。本系统的前端用户模块主要包括注册、登录、旅游标签分类、旅游推荐、旅游列表、旅游排序等、后台管理模块主要包括用户管理、旅游旅游管理、用户权限管理等。推荐算法方面同时含有基于用户的协同过滤以及基于物品的协同过滤推荐。关键词 旅游推荐 协同过滤 Python可视化2、项目界面1首页—旅游景点排序2旅游景点详情页—点赞、收藏、评分、景点详情信息3基于用户推荐、基于物品推荐4景点评分与数量分析5景点词云图分析6旅游景点年份分析7省份占比分析8旅游景点分类9个人中心----我的收藏、评论、评分10后台数据管理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、核心代码# -*-coding:utf-8-*-importos os.environ[DJANGO_SETTINGS_MODULE]recommend.settingsimportdjango django.setup()fromitem.modelsimport*frommathimportsqrt,powimportoperatorfromdjango.db.modelsimportSubquery,Q,Count# from django.shortcuts import render,render_to_responseclassUserCf:# 获得初始化数据def__init__(self,all_user):self.all_userall_user# 通过用户名获得列表仅调试使用defgetItems(self,username1,username2):returnself.all_user[username1],self.all_user[username2]# 计算两个用户的皮尔逊相关系数defpearson(self,user1,user2):# 数据格式为旅游景点id浏览此sum_xy0.0# user1,user2 每项打分的成绩的累加n0# 公共浏览次数sum_x0.0# user1 的打分总和sum_y0.0# user2 的打分总和sumX20.0# user1每项打分平方的累加sumY20.0# user2每项打分平方的累加formovie1,score1inuser1.items():ifmovie1inuser2.keys():# 计算公共的浏览次数n1sum_xyscore1*user2[movie1]sum_xscore1 sum_yuser2[movie1]sumX2pow(score1,2)sumY2pow(user2[movie1],2)ifn0:# print(p氏距离为0)return0moleculesum_xy-(sum_x*sum_y)/n# 分子denominatorsqrt((sumX2-pow(sum_x,2)/n)*(sumY2-pow(sum_y,2)/n))# 分母ifdenominator0:return0rmolecule/denominatorreturnr# 计算与当前用户的距离获得最临近的用户defnearest_user(self,current_user,n1):distances{}# 用户相似度# 遍历整个数据集foruser,rate_setinself.all_user.items():# 非当前的用户ifuser!current_user:distanceself.pearson(self.all_user[current_user],self.all_user[user])# 计算两个用户的相似度distances[user]distance closest_distancesorted(distances.items(),keyoperator.itemgetter(1),reverseTrue)# 最相似的N个用户print(closest user:,closest_distance[:n])returnclosest_distance[:n]# 给用户推荐旅游景点defrecommend(self,username,n3):recommend{}nearest_userself.nearest_user(username,n)foruser,scoreindict(nearest_user).items():# 最相近的n个用户formovies,scoresinself.all_user[user].items():# 推荐的用户的旅游景点列表ifmoviesnotinself.all_user[username].keys():# 当前username没有看过ifmoviesnotinrecommend.keys():# 添加到推荐列表中recommend[movies]scores*score# 对推荐的结果按照旅游景点# 浏览次数排序returnsorted(recommend.items(),keyoperator.itemgetter(1),reverseTrue)# 基于用户的推荐defrecommend_by_user_id(user_id):user_preferUserTagPrefer.objects.filter(user_iduser_id).order_by(-score).values_list(tag_id,flatTrue)current_userUser.objects.get(iduser_id)# 如果当前用户没有打分 则看是否选择过标签选过的话就从标签中找# 没有的话就按照浏览度推荐15个ifcurrent_user.rate_set.count()0:iflen(user_prefer)!0:movie_listxiangmu.objects.filter(tags__inuser_prefer)[:15]else:movie_listxiangmu.objects.order_by(-c9)[:15]returnmovie_list# 选取评分最多的10个用户users_rateRate.objects.values(user).annotate(mark_numCount(user)).order_by(-mark_num)user_ids[user_rate[user]foruser_rateinusers_rate]user_ids.append(user_id)usersUser.objects.filter(id__inuser_ids)#users 为评分最多的10个用户all_user{}foruserinusers:ratesuser.rate_set.all()#查出10名用户的数据rate{}# 用户有给旅游景点打分 在rate和all_user中进行设置ifrates:foriinrates:rate.setdefault(str(i.movie.id),i.mark)#填充旅游景点数据all_user.setdefault(user.username,rate)else:# 用户没有为旅游景点打过分设为0all_user.setdefault(user.username,{})user_cfUserCf(all_userall_user)recommend_list[each[0]foreachinuser_cf.recommend(current_user.username,15)]movie_listlist(xiangmu.objects.filter(id__inrecommend_list).order_by(-c9)[:15])other_length15-len(movie_list)ifother_length0:fix_listxiangmu.objects.filter(~Q(rate__user_iduser_id)).order_by(-collect)forfixinfix_list:iffixnotinmovie_list:movie_list.append(fix)iflen(movie_list)15:breakreturnmovie_list# 计算相似度defsimilarity(movie1_id,movie2_id):movie1_setRate.objects.filter(movie_idmovie1_id)# movie1的打分用户数movie1_summovie1_set.count()# movie_2的打分用户数movie2_sumRate.objects.filter(movie_idmovie2_id).count()# 两者的交集commonRate.objects.filter(user_id__inSubquery(movie1_set.values(user_id)),moviemovie2_id).values(user_id).count()# 没有人给当前旅游景点打分ifmovie1_sum0ormovie2_sum0:return0similar_valuecommon/sqrt(movie1_sum*movie2_sum)#余弦计算相似度returnsimilar_value#基于物品defrecommend_by_item_id(user_id,k15):# 前三的tag用户评分前三的旅游景点user_preferUserTagPrefer.objects.filter(user_iduser_id).order_by(-score).values_list(tag_id,flatTrue)user_preferlist(user_prefer)[:3]print(user_prefer,user_prefer)current_userUser.objects.get(iduser_id)# 如果当前用户没有打分 则看是否选择过标签选过的话就从标签中找# 没有的话就按照浏览度推荐15个ifcurrent_user.rate_set.count()0:iflen(user_prefer)!0:movie_listxiangmu.objects.filter(tags__inuser_prefer)[:15]else:movie_listxiangmu.objects.order_by(-c9)[:15]print(from here)returnmovie_list# most_tags Tags.objects.annotate(tags_sumCount(name)).order_by(-tags_sum).filter(movie__rate__user_iduser_id).order_by(-tags_sum)# 选用户最喜欢的标签中的旅游景点用户没看过的30部对这30部旅游景点计算距离最近un_watchedxiangmu.objects.filter(~Q(rate__user_iduser_id),tags__inuser_prefer).order_by(?)[:30]# 看过的旅游景点watchedRate.objects.filter(user_iduser_id).values_list(movie_id,mark)distances[]names[]# 在未看过的旅游景点中找到forun_watched_movieinun_watched:forwatched_movieinwatched:ifun_watched_movienotinnames:names.append(un_watched_movie)distances.append((similarity(un_watched_movie.id,watched_movie[0])*watched_movie[1],un_watched_movie))#加入相似的旅游景点distances.sort(keylambdax:x[0],reverseTrue)print(this is distances,distances[:15])recommend_list[]formark,movieindistances:iflen(recommend_list)k:breakifmovienotinrecommend_list:recommend_list.append(movie)# print(this is recommend list, recommend_list)# 如果得不到有效数量的推荐 按照未看过的旅游景点中的热度进行填充print(recommend list,recommend_list)returnrecommend_listif__name____main__:# similarity(2003, 2008)print(recommend_by_item_id(1799))✌感兴趣的可以先收藏起来点赞关注不迷路想学习更多项目可以查看主页大家在毕设选题项目编程以及论文编写等相关问题都可以给我留言咨询希望可以帮助同学们顺利毕业✌5、源码获取方式由于篇幅限制获取完整文章或源码、代做项目的拉到文章底部即可看到个人联系方式。点赞、收藏、关注不迷路下方查看获取联系方式

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询