电影推荐系统 python简书_基于django和协同过滤/cnn的电影推荐系统

本文介绍了一个基于Django和协同过滤/CNN的电影推荐系统,使用bootstrap3 + vue + jquery作为前端技术,后端采用Django 2.2.1,数据库为mysql。系统包括电影录入、用户打分、标签分类、推荐、分享和收藏功能。算法部分涉及基于用户和物品的协同过滤,以及基于Tensorflow的文本卷积网络推荐。还实现了交互式推荐,通过问答形式提供个性化推荐。代码已上传至GitHub,供参考。
摘要由CSDN通过智能技术生成

技术前端: bootstrap3 + vue + jquery

后端: django 2.2.1 +djangorestframework (MVC框架)

数据库: mysql

数据集:

1. 豆瓣数据集+豆瓣电影爬虫+csv存储

2. movielens数据集+图片+用户数据和评分数据+csv存储

功能介绍录入电影信息

用户打分

电影标签分类

电影推荐

电影分享

电影收藏

后台管理系统。

算法

基于用户的协同过滤

算法: 协同过滤, 根据用户的打分来进行推荐。从所有打分的用户中找出和当前用户距离最近的n用户,然后从n个用户打分的电影中找15个当前用户未看过的电影。 最近距离算法通过协同过滤来实现。

基于物品的协同过滤

计算物品之间的相似度,然后根据相似度来推荐

物品间的共现矩阵,两个物品同时被n个用户购买 物品间的相似度

相似度:共现值/N的点赞值M的点赞值 开根号 推荐值: 相似度评分 根据用户点赞过得商品来寻找相似度推荐。 计算每个点赞过的物品和所有未点赞物品之间的得分。得分=相似度*打分值 得分越高表示越相似。 然后返回结果

基于tensorflow/文本卷积网络的推荐

通过movielens所提供的用户信息: 年龄—性别—职业。这三个数据维度来刻画用户数据信息。然后构造文本卷积网络来生成模型。 用户可以根据自己的年龄/性别等特征信息来得到个性化的推荐。

基于交互式的推荐

交互式的推荐为通过问答选择的形式来为用户推荐电影,根据回答的问题不同,得到的推荐电影也不同。

各文件功能media/ 静态文件存放处,图片

movie/ Django的默认app,负责设置的配置还有url路由,部署等功能

static/ css文件和js文件的存放处

user/ 主app,程序的所有代码基本都在这下面 user/migrations为自动生成的数据库迁移文件 user/templates为前端页面模板文件, user/admins.py 为管理员后台代码 user/forms.py为前端表单代码 user/models.py为数据库orm模型 user/serializers.py为restful文件,不用管。 user/urls为路由注册文件。 user/views为负责处理前端请求和与后端数据库交互的模块,也就是controller模块。

cache_keys.py为缓存的key值名称存放文件,不用管。

db.sqlite3数据库文件

douban_crawler.py 豆瓣爬虫文件

manage.py 运行的主程序,从这里启动

populate_movies_script.py 填充电影数据到数据库中

populate_user_rate.py 随机生成用户评分

github链接https://github.com/Colaplusice/movie_recommend​github.com

参考文档协同过滤和基于内容推荐有什么区别?​www.zhihu.com

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值