本项目是基于数据集ml-latest-small.zip,使用PyQt5开发的桌面版电影推荐系统,可实现以下功能:
- 用户注册登录
- 离线部分,基于用户的历史评分记录为用户推荐电影
- 热门推荐
- 在线部分,给新用户推荐热门电影
- 相似推荐
开发环境:pycharm + python3.7
软件架构:PyQt5 + mysql + APScheduler
用到的推荐算法:
使用了pandas的推荐库Surprise
- SVD
- KNN
- DNN
离线推荐:
使用三种算法模型对日志数据进行训练,将推荐的结果保存在mysql数据库中。使用APScheduler库对这三种任务进行定时更新管理。
-
svd_recom.py
目标函数:
损失函数:
sgd参数更新:
-
knn_recom.py
目标函数:
-
deeplearning_recom.py
采用了双塔模型,通过DNN分别得到movieId,userID的向量,
热门推荐:
-
hot_recom.py
先根据时间戳进行排序,取最近的20000个评分数据进行统计分析
在线部分:
主要解决用户冷启动问题;




