python+django+mysql+基于协同过滤推荐算法+基于内容(用户属性)的个性化电影推荐系统开发实例教程 在线影视、视频、电影推荐系统PersonalizedMovieRecSystemPy

一、项目简介

1、开发工具和使用技术

Python3及以上版本,Django3.6及以上版本,mysql8,navicat数据库管理工具或者sqlyog数据库管理工具,html页面,javascript脚本,jquery脚本,echarts.js可视化图表工具,自定义星星评分功能(使用font-awesome星星图标字体)等。

2、实现功能

前台首页地址:http://127.0.0.1:8000/
后台首页地址:http://127.0.0.1:8000/admin
管理员账号:admin 管理员密码:admin

前台用户包含:登录、注册、忘记密码、退出登录、搜索电影、浏览电影、修改信息、密码修改、用户评分、用户收藏、用户评论、用户点赞、可视化排行榜、个性化推荐等功能;

后台管理员包含:电影类型管理、电影管理、用户管理、用户评分管理、用户收藏管理、用户评论管理、用户点赞管理、用户浏览管理、用户喜好管理、管理员管理等。

个性化推荐:
游客(用户未登录):热门推荐(推荐用户喜好较高的电影);
用户(用户已登录):
基于用户的协同过滤推荐算法,根据用户喜好数据;
如果基于用户的协同过滤推荐算法没有推荐结果(冷启动和数据稀疏性问题造成没有推荐结果),采用基于用户属性的热门推荐(推荐与登录用户相同性别、年龄范围下的用户喜好较高的电影,这是粗粒度的个性化推荐,也有较好效果);
如果基于用户属性的热门推荐没有推荐结果(项目刚上线,用户数据较少造成没有推荐结果),采用热门推荐(推荐用户喜好较高的电影)。

喜欢这部电影的人也喜欢:
先找到对当前电影有喜好值的用户,再找到这些用户下平均喜好值比较高的电影。

排行榜:
使用echarts.js组件实现柱状图和饼状图可视化效果。
用户点赞Top20:点赞量较高的前20个电影。
用户喜好电影类型:有用户喜好的电影中,电影类型的平均喜好值。

电影数据来源:爬取豆瓣电影网站

3、开发步骤

一、设计思路
先进行需求分析,得出需要实现的功能,
再进行数据库表的设计,数据表通过主外建实现关联关系
然后是页面设计,页面设计使用自定义html样式
接着是系统代码的开发,基础功能实现后是进行算法实现

二、框架描述
开发框架使用经典的django框架,这也是python web开发的主流框架
采用了MTV的框架模式,即模型M,视图V和模版T,
通过pycharm创建一个新的django框架项目,pycharm会生成django的基本配置,
直接运行后就可以在浏览器访问django默认首页
我们只是在生成的框架中添加自定义模块功能

django框架工作流程
1、用manage .py runserver 启动Django服务器时就载入了在同一目录下的settings.py。
该文件包含了项目中的配置信息,如前面讲的URLConf等,
其中最重要的配置就是ROOT_URLCONF,
它告诉Django哪个Python模块应该用作本站的URLConf,
默认的是urls.py
2、当访问url的时候,Django会根据ROOT_URLCONF的设置来装载URLConf。
3、然后按顺序逐个匹配URLConf里的URLpatterns。
如果找到则会调用相关联的视图函数,并把HttpRequest对象作为第一个参数(通常是request)
4、最后该view函数负责返回一个HttpResponse对象。

三、数据库的设计
数据库设计是使用navicat来创建,操作非常简便

四、算法的实现都是使用python常规函数,严格按照算法步骤实现(算法步骤代码注释很详细)

二、项目展示

深度学习的电影推荐算法 影视推荐算法_深度学习的电影推荐算法


深度学习的电影推荐算法 影视推荐算法_深度学习的电影推荐算法_02


深度学习的电影推荐算法 影视推荐算法_推荐算法_03


深度学习的电影推荐算法 影视推荐算法_django_04


深度学习的电影推荐算法 影视推荐算法_python_05


深度学习的电影推荐算法 影视推荐算法_django_06


深度学习的电影推荐算法 影视推荐算法_python_07


深度学习的电影推荐算法 影视推荐算法_django_08


深度学习的电影推荐算法 影视推荐算法_协同过滤_09


深度学习的电影推荐算法 影视推荐算法_推荐算法_10


深度学习的电影推荐算法 影视推荐算法_深度学习的电影推荐算法_11


深度学习的电影推荐算法 影视推荐算法_深度学习的电影推荐算法_12


深度学习的电影推荐算法 影视推荐算法_推荐算法_13


深度学习的电影推荐算法 影视推荐算法_django_14


深度学习的电影推荐算法 影视推荐算法_协同过滤_15


深度学习的电影推荐算法 影视推荐算法_推荐算法_16


深度学习的电影推荐算法 影视推荐算法_python_17


深度学习的电影推荐算法 影视推荐算法_推荐算法_18


深度学习的电影推荐算法 影视推荐算法_python_19


深度学习的电影推荐算法 影视推荐算法_python_20


深度学习的电影推荐算法 影视推荐算法_推荐算法_21


深度学习的电影推荐算法 影视推荐算法_深度学习的电影推荐算法_22


深度学习的电影推荐算法 影视推荐算法_推荐算法_23

三、代码展示及运行结果

深度学习的电影推荐算法 影视推荐算法_协同过滤_24


深度学习的电影推荐算法 影视推荐算法_推荐算法_25


深度学习的电影推荐算法 影视推荐算法_django_26


深度学习的电影推荐算法 影视推荐算法_深度学习的电影推荐算法_27


深度学习的电影推荐算法 影视推荐算法_深度学习的电影推荐算法_28


深度学习的电影推荐算法 影视推荐算法_python_29


深度学习的电影推荐算法 影视推荐算法_推荐算法_30


深度学习的电影推荐算法 影视推荐算法_python_31


深度学习的电影推荐算法 影视推荐算法_协同过滤_32


深度学习的电影推荐算法 影视推荐算法_python_33

专业长期研究java、python推荐算法(基于内容、协同过滤、关联规则、机器学习等)、大数据等,欢迎留言、私信互相交流学习,后续会不断更新,欢迎关注。