目录
一、功能介绍
本系统是一个采用协同过滤算法的图书推荐系统。
数据集:数据集来自亚马逊开源的Book-Crossings数据集。Book-Crossings数据集包含 278,858 个用户的 271,379 本书的 1,149,780 个评分。评分范围从1到10。
推荐算法:推荐算法部分,采用经典的协同过滤算法,有基于图书的推荐和基于用户的推荐两种类型。基于数据集和协同推荐算法训练完成之后,将训练得到的结果存入MySql数据库,供后续前后端网页系统的调用。
网页应用:使用Python的Flask框架,搭建前后端网页系统,读取MySql数据库中存放的训练好的数据。网页系统的功能包括登录登出、历史评分、书籍书单查看、热门图书、图书推荐、猜你喜欢等模块。
二、开发环境
本项目主要使用Python作为开发语言,使用的开发环境大致如下:
- python=3.6
- pandas
- numpy
- flask=2.0.3
- pymysql=1.0.2
三、安装部署说明
上图为项目文件目录,包含数据集、训练文件、前后端网页文件,以下做逐一说明:
data:数据集文件
image:项目运行时的一些截图
web:存放Flask框架编写的前后端网页
logs:日志文件
static:静态资源文件,包括js代码、图片等
templates:前端网页模板文件
app.py:Flask框架主文件,用于实现一些前后端逻辑
config.yml:配置文件,主要配置数据库密码等信息
logger.py:日志输出逻辑
utils.py:公用的工具库
book.sql:数据库初始化文件
CF_use_python.py:协同过滤算法训练文件
environment.yaml:导出的环境配置文件
read_data_save_to_mysql.py:将训练好的数据读取出来,并保存到MySql数据库
如需源码联系:1456719640