Python+Django+Mysql开发个性化农产品购物推荐系统、个性化生鲜购物推荐系统、网上购物推荐系统、网上商店推荐系统简单教程 基于用户的协同过滤推荐算法 可视化数据分析 PersonalizedShopRecSystemExPy
一、项目简介
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常规函数,严格按照算法步骤实现(算法步骤代码注释很详细)
二、项目展示
三、代码展示及运行结果