前些天发现了十分不错的人工智能学习网站,通俗易懂,风趣幽默,没有广告,分享给大家,大家可以自行看看。(点击跳转人工智能学习资料)


微信公众号:创享日记
发送:电影论坛
获取完整论文报告+项目源码源文件+配置说明



一、需求分析

随着电影市场的迅速发展,每天都有大量电影上映.人们都希望可以高效的在海量电
影库中找到自己可能会喜欢的电影,以节省寻找电影的时间[22].电影推荐系统能给用户带来便利。本文要实现的是一个面向用户的个性化电影推荐系统,根据movielens 数据集里面大量用户对电影的评分数据,通过计算用户相似性、电影相似性,实现为用户推荐符合其兴趣的电影. 本文实现的个性化电影推荐系统有以下几点基本需求:
(1)数据集:每个用户所评电影数量要多,尽量广泛涉及大量电影
(2)推荐算法:推荐效果要良好
(3)包括用户注册登录在内的整个 web 系统
(4)系统要易于扩展和维护

二、用户功能需求
如图 4-6 是系统中用户的用例图,有 5 个用例,分别是注册、登录、注销、评分、查看推荐结果。

三、系统设计
1、系统总体架构
本文从互联网上下载 movielens 数据集,经过数据重组和筛选,基于两种推荐算法得出推荐结果保存至 MySQL 数据库中,并通过 Django 框架进行前端展示.本系统采用 B/S(浏览器/服务器)体系结构,用户通过浏览器就能和网站上的内容交互。
实现本系统主要需要以下几种编程语言:
(1)Python:进行后台开发,写推荐算法,和 MySQL 数据库交互,将用户的数据存储到数据库中,又将生成的推荐列表展示到前端页面。
(2)Html5:进行前端页面的开发。
(3)Css3:美化前端页面,特别是对电影分类板块做处理。
(4)Jquery:实现提交表单和首页中的星星评分效果。
系统的总体架构设计图如图 4-7 所示。


一个良好的推荐系统,必须要有一个良好的用户交互界面和用户行为数据,其之间的关系如图 4-8 所示。
2、系统功能模块简述
本系统以改进后的用户协同过滤和物品协同过滤算法为依据,采用 django 重量级 Web框架设计并实现.包括了数据集处理模块、注册登录模块、电影分类模块、用户评分反馈模块、推荐算法模块和推荐电影展示模块。
① 数据集处理模块
本文设计的推荐系统的源数据集来源于 movielens 的 ml-latestl-small,其中包含 671 个用户的 10 万条评分数据.对数据集里面的 ratings.csv 和 links.csv 文件进行连接处理,只保留 userId、imdbId、rating 三个字段存入数据库中新建好的数据表 users_resulttable 中。
② 注册登录模块
用户只有先注册并且登录系统之后才能提交对电影的评分.注册界面含用户名、电子邮箱地址以及密码.注册和登录界面如图 4-9 所示。

③ 电影分类模块
系统首页一共有 8 种类型的电影,如 4-10 所示. 从左到右依次是动作片、恐怖片、喜剧片、动画片、科幻片、犯罪片、爱情片以及剧情片。

④ 用户评分反馈模块
系统利用了 jquery-raty 评分插件,收集用户对每一部电影的评分.用户通过点击‘提交评分’按钮将评分数据提交到 MySQL 中的 users_resulttable 表中,插入到源数据集末尾。

⑤ 用户评分记录模块
用户登录系统后点击自己的昵称,将跳转页面显示自己曾经评价过的电影列表.如图4-15 所示。

⑥ 推荐算法模块
本模块是整个系统的核心组成部分,当用户登录进入系统并对电影进行评分之后,系统就记录下了该用户的 id 号,当用户再次登入系统时,系统会将源数据集和该用户之前的评分数据整合成新的数据表作为推荐的依据. 整个推荐过程流程图如图 4-16 所示。

算法生成推荐电影的 imdbId 号之后存入 matrix 全局变量列表中,并在 moviegenre 数据表中查询到相关的电影名称以及电影海报的链接,将 userId、title、poster 数据插入到users_insertposter 数据表中,此表即为所有登录用户的电影推荐列表集。

⑦ 显示推荐模块
根据登录用户对电影的评分反馈,通过基于用户的协同过滤和基于物品的协同过滤算法给出图 4-17 和图 4-18 两种推荐结果。

四、数据库介绍与设计(详见微信公众号下载)
1、实验数据集介
2、数据库逻辑结构设
3、系统 E-R
4、系统数据表

随着互联网的飞速发展,关于推荐系统的研究工作也蒸蒸日上.本文主要研究了实现推荐系统所需的技术,研究了推荐算法以及推荐系统的一些国内外现状.并以电影推荐系统为实例,对整个推荐系统的架构以及所有功能做了详尽的阐述与分析.从系统的需求分析出发,剖析了用户对功能的需求,然后介绍了系统的各个功能模块,最后充分展示了系统数据库的设计以及数据表的内容. 设计的系统包含用户信息模块、电影展示模块、用户评分模块、推荐结果模块.每个模块的介绍都有流程图或者系统截图.数据库中的核心数据表也充分对所存内容、每个字段的类型进行了阐述. 本系统采用改进过的两种协同过滤算法:基于用户的协同过滤和基于物品的协同过滤,使用户能从两种不同角度获得推荐,提高用户的可选择性.并且利用准确率、召回率以及流行度三个指标对算法进行评测.实验表明,基于本系统所用数据集,UserCF-IIF 算法的性能要优于 ItemCF-IUF 算法. 核心的推荐算法工作完成后,本文结合现有的较热门的 Web 重量级框架 Django,利用 Django 内置的用户注册表单实现用户注册,编写视图代码进行电影推荐结果的 UI 前端展示.利用 CSS3 语言对网页进行排版、美化,使系统看上去更加简洁和美观,增加用户的体验。

Python基于Django的电影推荐系统和论坛项目完整源码相关推荐

  1. 基于SSM实现的网上手机商城项目(附源码)

    基于Spring+Spring MVC+MyBatis+Layui框架 项目完整源码下载 https://download.csdn.net/download/DeepLearning_/873271 ...

  2. 基于Django的图书推荐系统和论坛

    基于Django的图书推荐系统和论坛 关注公众号"轻松学编程"回复"图书系统"获取源码 一.基本功能 Demo在线查看 登录注册页面 基于协同过滤的图书的分类, ...

  3. 基于JAVA东理咨询交流论坛计算机毕业设计源码+系统+数据库+lw文档+部署

    基于JAVA东理咨询交流论坛计算机毕业设计源码+系统+数据库+lw文档+部署 基于JAVA东理咨询交流论坛计算机毕业设计源码+系统+数据库+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语 ...

  4. 基于JAVA网页小游戏交流论坛计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA网页小游戏交流论坛计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA网页小游戏交流论坛计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开 ...

  5. 基于JAVA开放式体育社区及论坛计算机毕业设计源码+系统+lw文档+部署

    基于JAVA开放式体育社区及论坛计算机毕业设计源码+系统+lw文档+部署 基于JAVA开放式体育社区及论坛计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...

  6. 【附源码】计算机毕业设计Python安卓便利猫电影购票系统安卓app14g1h(源码+程序+LW+调试部署)

    [附源码]计算机毕业设计Python安卓便利猫电影购票系统安卓app14g1h(源码+程序+LW+调试部署) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行环境配置: Pyt ...

  7. Python基于Opencv的鱼群密度速度检测系统(源码&教程)

    1.研究背景 智慧渔业是大数据.物联网与人工智能等现代信息技术驱动下的渔业发展新模式,是水产养殖业供给侧结构性改革的重要方式,涉及养殖环境监测.生物环境监测与生物状态监测这几大方面的应用与需求.本文从 ...

  8. Python基于CRNN&CTPN的文本检测系统(源码&教程)

    1.背景 文本是人类最伟大和最具影响力的发明之一,是人类智慧的结晶,是人类文化.思想传承的一种基本的表达方式和不可或缺的载体.在21世纪,文本与日常生活密切相关.描述.理解万事万物,表达情感,与他人交 ...

  9. Python编程:打造太空入侵者游戏(含完整源码)

    Python编程:打造太空入侵者游戏(含完整源码) 太空入侵者这款游戏经典得让人不能忘怀,而Python语言的简单易学.快速开发的特性,使其成为实现该游戏的最好选择.在本篇文章中,我们将为读者呈现如何 ...

最新文章

  1. 强化学习70年演进:从精确动态规划到基于模型
  2. 用VB6写的一个简单俄罗斯方块代码
  3. keil编写正弦函数_【高中数学】62个重要函数图像
  4. Ubuntu设置root密码
  5. beta分布_浅谈脑电的beta频段振荡
  6. 【Leetcode | 01】Backtracking
  7. python 定义变量_python-003-变量
  8. 非极大值抑制(non-maximum suppression)的理解与实现
  9. 大数据分析平台在企业的重要性
  10. 公司里面用的iTextSharp(教程)---关于PDF的属性设置
  11. python支付_玩转京东支付(python)
  12. vue组件中使用预览ofd文件、上传预览ofd文件、下载ofd文件
  13. 在openSUSE-Leap-15.4-DVD-x86_64中使用佳能喷墨打印机ip2780
  14. python 面试题 aac caa相似_Python 面试实训 100 题,哪道难住了你?| 文末附答案
  15. arcgis更改默认路径
  16. 想要成为大牛应该做到以下几点
  17. 6-2 求解一元二次方程实根的函数 (10 分)
  18. 教你同时分析圆通快递多个单号的物流情况
  19. 【渝粤教育】国家开放大学2018年春季 0553-21T色彩 参考试题
  20. 搭建基于XDEBUG的调试环境

热门文章

  1. 代码写入word时美化高亮
  2. CC js----android 平台 java与js互调 , ios平台 Objective-c与js互调的例子
  3. python 做excel可视化报告_Python操作Excel制作可视化数据图,实现自动化办公
  4. 游戏设计-《游戏改变世界》-思维导图
  5. 【华东交大】网络拓扑实验之校园网的构建
  6. 怎么把Excel转换成Word文档?一分钟就能教会你
  7. 编程输入年份和月份,输出该月份有多少天。
  8. 关于导出编辑后的PDF文件中目录带框的情况及解决
  9. Abaqus用python进行.odb文件提取
  10. IDEA 2021.1 的 Win 和 Mac 快捷键大全!!