毕业设计--基于Django的歌曲推荐系统和论坛
说明
注册普通用户通过web界面来设置,创建创建用户通过creeatsuperuser创建。下文有详细命令
导入歌曲信息通过insert_movies_script.py来操作 (会删除已有的所有信息!)
前端展示 浏览最多,评分最多,收藏最多,写的比较直白,你可以改的委婉点: 最热歌曲,火爆排行...之类的。每种有10条。
我猜你喜欢为基于用户推荐,item推荐为基于项目推荐。两种推荐思路下文有介绍
系统采用的技术
前端: bootstrap3 css 框架 后端: django 2.2.1 + sqlite3数据库 (MVC框架) 数据: python异步爬虫从豆瓣top250抓取数据,保存到本地csv文件中 主要功能: 录入图书信息,用户打分,歌曲标签分类,歌曲推荐,歌曲分享,歌曲收藏,后台管理系统。 整体采用MVC架构,前端页面通过django template模板来实现,实现了模板的复用功能。同时前端页面的组织结构较为清晰。
推荐算法思路
通过协调过滤计算和其他用户的距离,然后进行筛选。如果用户数量不足,推荐数目不够15条,就会自动从 所有未打分的歌曲中按照浏览数降序选一部分填充进去。
基于用户的推荐
用户需要给歌曲打分。通过用户已打分的部分来计算相似度,如果用户未打分,或者没有其他用户,则按照浏览数降序返回。
通过pearson算法来计算用户之间的距离,找到距离最近的N个用户。将这些用户中已打分的歌曲(且要推荐的用户未看过的部分)返回。
基于item的推荐
遍历当前用户已打分的i