python django基于协同过滤推荐算法的校园二手交易网站设计与实现

目录

1 绪论

1.1 研究背景

1.2 系统开发目的与意义

1.3 研究现状

2 关键技术

2.1 Python语言

2.2 Django框架

2.3 Pycharm简介

2.4 MySQL数据库

2.5 Navicat Premium简介

2.6 协同过滤算法

3 个性化推荐系统

3.1 个性化推荐系统概述

3.2 个性化推荐系统主要技术

3.3 个性化推荐系统应用

3.3.1 电子商务

3.3.2 电影推荐

3.3.3 新闻推荐

3.3.4 音乐推荐

4 系统设计

4.1 系统架构设计

4.2 系统功能模块设计

4.2.1 整体设计

4.2.1 详细设计

4.2.2 协同过滤详细设计

4.2.3 基于协同过滤算法的实验方案

5 系统实现

5.1 系统首页界面实现

5.2 登录注册界面实现

5.3 前台功能模块实现

5.3.1 个人中心的实现

5.3.2 商品信息的实现

5.3.3 店铺信息的实现

5.3.4 购物车的实现

5.4 管理员模块实现

5.4.1 管理员主页面功能

5.4.2 用户管理

5.4.3 店铺信息管理

5.4.4 商品信息管理

5.4.5 系统管理

5.5 用户后台模块实现

5.5.1 用户后台主页面功能

5.5.2 商品信息管理模块

5.6 个性化推荐页面实现

6 系统测试

6.1 推荐系统实验方法

7 结论

致谢语

参考文献

  1. 绪论
    1. 研究背景

互联网的出现和推广给用户产生了很多的信息,满足信息时期用户对信息的需求,但近年来随着的迅猛发展,在网上信息量大幅上升,促使用户当面对很多信息时能将会对自己真正有价值的一部分信息这也是所谓“信息负载”难题。

个性化推荐系统并非是购物网站所独有的产品,视频、音乐、新闻等行业都在对其进行研究和应用。最典型的代表有抖音、酷狗音乐、今日头条、淘宝等,它们为推荐系统的发展奠定了一定的基础。个性化推荐系统的研究是伴随着““信息过载””而产生的,当下我们正处于“信息过载”的环境中,大规模数据集中产生爆发的时代。以电子商务行业为例,大成千上万的商品在线上进行交易,消费者往往会迷失其中,导致无法在众多商品信息中找到自己真实想要的东西;对于商品提供者,要使自己的商品信息脱颖而出,受到大众的关注也是困难重重,商品的更新速度很快,眼球经济时代需要第一时间将商品信息呈现给用户。

处理“信息负载”难题的一个潜力无穷的办法是人性化推荐系统,它依据用户的信息需求、兴趣等,向用户强烈推荐用户感兴趣的信息、等。 比照百度搜索引擎推荐系统根据科学研究用户的兴趣喜好然后进行人性化测算,引导系统发觉用户的兴趣点,进而协助用户发现自己信息需求。 好一点的推荐系统不但可以为用户给予个性化服务项目,还能和用户创建密切关系,使用户依靠强烈推荐。

    1. 系统开发目的与意义

我校现阶段每年都有大量学生搬校区以及毕业生离校,期间不乏QQ、微信、校园表白墙等社交平台随处可见出售闲置物品;垃圾箱旁各种物品因学生不便带走而随处丢弃的现象更是日新月异。传统的二手交易市场也随之发展起来,但也有一些无法避免的缺点。交易过程困难、信息不能及时获取、想要找到自己需要的物品被时间、地点、信息传播速度等给限制。且我校目前也没有组织跳蚤市场等二手闲置物品交易活动,故本系统实际是在现有基础上对校园资源信息整合;最大程度减少了资源浪费,实现资源重复利用的同时也符合我国可持续发展战略。本系统协同过滤技术实现个性化推荐系统,意在为全校师生提供一个具有快速性、可靠性、简单性的平台,以便全校师生利用本系统发布自己闲置物品的同时也可以获取到自己需要的物品。

    1. 研究现状

个性化推荐技术性做为推荐全面的关键控制模块,近些年变成相关研究热门话题。 传统式推荐算法是根据视频的推荐、协同过滤算法推荐、混和推荐。 在传统算法的前提下,越来越多将机器学习算法、信号分析、数据图表计算等方式用于推荐优化算法中。 推荐深入研究的现况如下所示

近年来随着个性化推荐深入研究的发展和市场需求的迅速发展,个性化服务项目正由单一的基础理论迈向各行业的运用,并处在日益提升状态。 谷歌搜索于2002年开始给予网上购物站内搜索; 微软公司、IBM等公司还在平台上增强了个性化服务项目,雅虎网于2007年发布了一款名叫SmartAds的显示广告选购专用工具。 美国零售网站Overstock于2009年则在平台上用了个性化推荐广告宣传[1]。

胡一在《通过大数据的电商个性化信息推荐服务方式科学研究》上明确指出,通过大数据的个性化信息推荐服务项目可以即时主动与用户推荐适合自己的口感产品和服务。 一方面能够更好地满足用户的个性化要求,另一方面有益于电商网站创建相对稳定的用户人群、服务水平,提升企业的竞争能力[2]。

李锋和冷娜在《协同过滤算法的家纺面料推荐系统软件》中指出,推荐设备在“信息负载”的环境中,可以精确推荐让用户有兴趣的信息。 不但能够满足用户个性化的需要,并且能提高用户相关性[3]。

我觉得现阶段我国对个性化推荐的探索趋向完善,从研究领域发展成经济领域,变成品牌研究的核心。 2009年创立于北京,这是中国第一家更专业的个性化推荐服务中心。 从2010年开始,阿里等电子商务平台开始发布以比价购物检索为基本功能性的网购网站,便捷用户开展比价购物。 百度李彦宏在百度大会2011把云计算技术和百度搜索引擎结合的推荐模块做为可持续发展的关键方位,将个性化引进主页,完成大数据个性化推荐提供服务的完美融合,为用户个性化的推荐出偏好用户的网站等。

  1. 关键技术
    1. Python语言

Python是荷兰和计算机研究学到的吉多范罗伯在20世际90时代设计方案最高级的语言。 Python典雅的词汇和动态类型及其表述语言本质上是很多行业迅速开发脚本制作和APP运用的最佳语言。 与其它高端语言对比,Python开发代码量减少,代码样式简约雅致,有着丰富的第三方库。 Python的代码样式易读性强,维护员非常容易阅读文章,程序流程更为稳定。 Python又称为“黏合剂语言”,因为它能够容易地启用用别的语言整理的控制模块[4]。

Python的应用场合非常广泛,在科研领域中,可以用Python训练人工智能模型,也可以对实验数据进行数据分析。在生活中,Python提供了很多优秀的、开源的Web开发框架,例如Django、Flask、Pyramid、Tornado等。知乎、豆瓣网、Youtube等知名应用都是由Python为基础进行开发的。

    1. Django框架

Django被官方网称之为“完美主义架构”,能用较小的代码更有效地进行出色的web APP演试[5]。 Django使用的是MTV架构方式。 该策略根据MVC展开了改善,构成了比较适合Django的程序设计模式。 m是实体模型,t是模板,v是视图。 详细介绍Django的一部分关键和优势。

(1)对象关系映射(ORM,Object-Relation-Mapping ):ORM的方法论有三个核心原则。

简易:以最基本方式搭建数据。

传递性:数据库构造用所有人也能理解的表达纪录。

精确性:依据数据模型建立精准规范化的构造。

在Python中,数据实体模型被界定为Python类,此类中的每一个特性相匹配于数据库文件的一列。 布署ORM后,不用撰写该设备SQL句子,反而是应用面向对象观念创建类、目标、调用方法等,随后ORM把它映射到SQL句子并在pymysql中实行。

路由配置(URLConf ):Django的URL设定看起来更加灵便、雅致、繁杂、晦涩难懂,但应用简单正则匹配,能够随心所欲的建立漂亮、简约、技术专业地址。

(2)模板(Template )模板可以看作承重数据的一种手段,为了能从视图中分离出来数据,通过一些标识开展数据的传送。 Django的模板引进了面向对象编程传承的观念,根据重复使用降低多余代码。

(3) (视图) View )视图是views.py里的函数公式即逻辑性代码,为了把URL和视图关系下去,运用了上述URLConfs。 URLConfs将URL方式映射到视图,每一个视图需要做2件事。 回到包括要求页面的HttpResponse目标

(4)后台管理界面(Django-Admin ) :由Django所提供的根据Web的可视化工具。

Django-Admin来源于Django.contrib或django函数库,默认设定,仅需激话和开启就可以。 Django-Admin的特点是能够快速加上和删掉查验数据库文件的每一个表。 与手动式在后台管理系统单独实体模型对比,一行代码能够管理方法一个数据库表往往需要四个urls、四个视图函数公式和四个模板

)运用) APP )不可避免会有建设规模太大、文件目录太长、文档太多等诸多问题。 Django核心理念里的APP,可以相对独立性地开发新项目,因为软件的构造和自觉性,开发者丢掉的APP即便删掉不会对总体造成影响,是一种非常少被考虑到的发展理念。

本次所使用的Python版本为3.6.4,因为低版本的Django不兼容Python3,因而本次所使用的Django版本为3.2.12。

    1. Pycharm简介

 PyCharm是JetBrains公司开发的一款Python集成开发环境,它提供了很多便利于开发者的功能,比如调试、语法高亮、代码跳转、智能提示、自动补全等。除此之外Pycharm还提供了一些支持Web框架的高级功能,适合此次协同过滤算法的音乐系统的开发。

    1. MySQL数据库

没有数据库就没有Web系统,MySQL数据库是数据库中比较常用的,这都是源于它的特点。

(1)MySQL是相比于Oracle更轻量、更简洁便于使用,在服务部署方面相对复杂度低,更利于毕设系统的开发[18]。

(2)MySQL是免费开源的,对个人开发系统很友好。

(3)MySQL占用空间内存比较小,发行版安装后不到100兆。

(4)MySQL可以使用Sql语言进行调用,学习成本较低。

(5)MySQL可支持互联网站数据共享也支持数据安全设置,防止数据泄露。

(6)MySQL运行到各种版本的操作系统中无论是服务器上,还是我们开发用的笔记本上[19]。

(7)MySQL运行速度很快。

    1. Navicat Premium简介

Navicat是一款由香港卓软数码科技有限公司开发的数据库管理工具,适配了市面上常见的大多数据库,例如:MySQL,Oracle,MongoDB,将其连接到数据库上,可以看到数据库、数据表的详细信息。当然也可以通过图形化的界面简单的编写SQL语句,操作数据库,此次运用的是Navicat15,来实时观看数据库中的数据情况。

    1. 协同过滤算法

协同过滤都是基于用户个人行为定制的推荐系统,从总体上,是由集体行为找到某类相似性(用户间的相似性和物件间的相似性),根据相似性开展用户的决策和强烈推荐。 说白了,协同过滤包含协同和过滤二种实际操作。 合作就是指搜集全部用户的意见反馈、点评等。 此外,过滤是依据融洽得到的数据,从总数非常大的物件内进行过滤,挑选出用户有兴趣的物件。

协同过滤从字面意思了解,包含协同和过滤二种实际操作。 协同是运用群体思维开展决策,有协同进化之说,根据协同功效使人群向更加好的情况演变。 针对推荐算法而言,在用户的持续协同影响下,最后对用户的推荐量愈来愈精确。 随后,过滤也是从切实可行的决策(强烈推荐)计划方案(物体)中找到用户自己喜欢的计划方案(物体) )开展过滤。

具体地说,协同过滤的观念是由群体思维寻找某类相似性(用户间的相似性或是总体目标间的相似性),依据该相似性作出用户的决策和强烈推荐。

  1. 个性化推荐系统
    1. 个性化推荐系统概述

推荐系统是运用网购网站和APP向消费者给予产品信息与建议,有意识的正确引导用户意向,协助用户确定应当购买什么样的产品,模拟销售工作人员协助客户的全部购买全过程。

人性化推荐系统依据用户的访问、个人收藏、购买等情形,向用户强烈推荐用户很有可能有兴趣的信息和产品,促进用户意向购买。 比如,买东西的时候不论是淘宝网或是京东商城,只需有明确购买地址都要在输入框中检索。 如果你想要买外衣,百度搜索会提供各种各样有关外套的结论; 假如没有明确要求,就会有强烈推荐等控制模块。 那些控制模块是推荐系统依据一定规则对策计算出来,这种标准战略是个性化推荐系统。 提议关键根据下列信息:

  1. 热点信息或商品
  2. 用户信息,如性别、年龄、职业、收入以及所在城市等等
  3. 用户历史浏览或行为记录
  4. 社会化关系
    1. 个性化推荐系统主要技术
      1. 基于内容的推荐

该推荐方式主要是运用项目主要内容信息开展推荐,是信息水处理技术的再次与发展。 主要是通过机器学习方法从视频的特征中获取用户的喜好信息,不用遵从用户对工程的评价意见。 根据视频的推荐全过程一般为:

最先,获取表明这个项目的项目特征; 随后,应用用户以往有兴趣的项目及没什么兴趣项目的特点数据信息,学习培训该用户的偏好基本特征; 最终,根据较为用户喜好特点和备选项特点,向用户推荐一组最有关的项。

      1.  协同过滤推荐

这种方法假定具备类似兴趣爱好的用户很有可能喜爱相近的新项目,或者是对相近的新项目表现出了相近的喜好。 其核心内容都是基于近邻推荐优化算法,运用用户和物件间的相似性和行为轨迹,高效地推荐总体目标用户。

      1. 混合推荐

此方法根据混和多种多样推荐技术性,相互之间填补缺陷以得到更好的推荐实际效果。 最常见的就是协同过滤推荐与内容推荐紧密结合。。

    1. 个性化推荐系统应用

伴随着人性化推荐系统功能性的慢慢提高,其应用领域也变得越来越普遍。 电商网站通过对比用户的浏览历史和收藏记录向用户推荐产品,在线播放网站通过对比用户的浏览记录与评价信息向用户推荐有兴趣的影片,社交平台依据用户信息剖析用户相互关系,分辨用户很有可能有兴趣的影片换句话说依据人性化推荐系统的应用领域,已有的人性化推荐系统主要运用于以下几种类型:

      1. 电子商务

推荐系统在电商应用领域极为普遍,绝大多数的电商网站都用以海外亚马逊平台、eBay、中国淘宝网等推荐系统。 淘宝的人性化推荐技术的应用用户买东西的过程中,从人性化主页到加入购物车推荐,相对高度人性化促使其浏览量和转现远远地强于别的类似店家。 淘宝的用户可分为目的性强的用户和针对性模糊不清的用户两大类。 针对针对性强的用户,推荐系统会往用户推荐与其说购买商品比较接近的产品,但对于针对性低用户,推荐系统会按照其访问记录推荐印象最深刻的产品。

      1. 电影推荐

最出名的科学研究数最多的影片推荐系统是MovieLens系统,是由美国明尼苏达大学GroupLens团队创建的研究的目的试验系统。 该系统推荐目标为电影,融合关联规则推荐和协同过滤推荐二种技术性,通过对比用户对工程的描述,找到与用户个人爱好相近的用户人群,根据她们评分状况向用户推荐影片。 里的视频平台如爱奇艺视频、乐视电视、优酷视频码也是有人性化推荐作用,依据用户的浏览记录、收视率纪录、有兴趣的影片标志推荐用户。

      1. 新闻推荐

明尼苏达大学公布的GroupLens系统属于典型的新闻报道系统,其最大的优点是可以解决大规模数据信息。 与MovieLens系统类似,该系统选用协同过滤推荐技术性,通过对比全部用户对新闻报道评分,找到和目标用户喜好类似邻居,向日本规范用户推荐隔壁邻居自己喜欢的新用户为减少探寻隔壁邻居所需要的时长并推荐高效率,系统关于新的应用展开了归类。 在不同新闻报道不同类型的新网络类型下,一般一个用户在一定时间内关心的新应用类型是不变的,近期找邻居时在同一个新闻报道类型范围之内检索就可以。

      1. 音乐推荐

麻省理工大学试验室开发出来的Ringo系统采用的是根据协同过滤的推荐科技的人性化推荐系统。 Ringo系统不但可以向用户推荐最感兴趣的事物,还能够预测分析不感兴趣的事物。 该系统的推荐流程是根据来源于全部用户的描述测算用户提的问题的相似度,对用户开展聚类算法,同一集群式里的用户可以相互推荐。

  1. 系统设计
    1.  系统架构设计

整个系统采用B/S结构,用户可在浏览器中完成和整个系统的交互。

用户在校园二手交易网站的浏览器界面进行的操作,浏览器操作传到服务器端,服务器端调用后台数据库,反馈给浏览器端。

系统架构如图4-1所示:

图4-1 系统架构图 

    1. 系统功能模块设计

4.2.1 整体设计

校园二手交易网站实现前台用户的注册、登录、查找浏览商品、购买、修改个人信息、管理购物车等。对于管理员,就是实现了监管所有用户信息、店铺信息信息、监管所有商品信息、订单信息、系统信息等功能。上述的所有功能都通过与后台服务器的数据交互来完成的。具体的软件功能结构图如图4-2所示:

图4-2 软件功能结构图

      1. 详细设计

在校园二手交易网站中,用户的功能主要有二手商品的浏览、购买及投诉,对二手商品进行收藏、订单管理和个人基本信息管理等,以下是对用户功能的详细设计:

  1. 商品浏览:将商品以大图片列表的排列方式展示在网站中,并且设计商品分类列表。在分类界面,商品也以大图片列表方式展示,在用户点击图片后就能进入商品详细介绍界面,看商品价格、描述等信息。无论用户登录与否,都能浏览商品。
  2. 订单管理:管理订单,看订单成交时间等信息。
  3. 商品收藏:满足用户收藏商品需求,在商品详情界面安置收藏按钮,用户点击后,商品会在用户收藏列表出现。
  4. 个人信息管理:满足用户个性化需求,注册时所输入的个人信息和密码都可以被修改。
  5. 登录注册功能:用户要购买二手商品、购买和收藏之前必须要进行登录的步骤,在用户注册后可以获得账号,然后能够以自己的身份进入交易网站进行二手物品交易。

在校园二手交易网站中,管理员的功能主要有个人中心、用户管理、店铺信息管理、商品信息管理、商品分类管理、系统管理、订单管理这些需求,管理员主要是监管这些信息违不违法,对于违规账号、商品和订单进行删除等操作,所以管理员在这三个列表中有增删改查的操作权限。

      1. 协同过滤详细设计

1、基于用户的协同过滤

根据上面算法思想的介绍,我们可以将与该用户最相似的用户喜欢的标的物推荐给该用户。这就是基于用户的协同过滤的核心思想。

用户u对标的物s的喜好度sim(u,s)可以采用如下公式计算,其中U是与该用户最相似的用户集合(我们可以基于用户相似度找到与某用户最相似的K个用户),

是用户

对标的物s的喜好度(对于隐式反馈为1,而对于非隐式反馈,该值为用户对标的物的评分),

是用户

与用户u的相似度。

有了用户对每个标的物的评分,基于评分降序排列,就可以取topN推荐给用户了。

2、基于标的物的协同过滤

类似地,通过将用户操作过的标的物最相似的标的物推荐给用户,这就是基于标的物的协同过滤的核心思想。

用户u对标的物s的喜好度sim(u,s)可以采用如下公式计算,其中S是所有用户操作过的标的物的列表,

是用户u对标的物

的喜好度,

是标的物

与s的相似度。

有了用户对每个标的物的评分,基于评分降序排列,就可以取topN推荐给用户了。

3、计算topK相似度

本步骤我们计算出任意两个标的物之间的相似度,有了任意两个标的物之间的相似度,那么我们就可以为每个标的物计算出与它最相似的K个标的物了。

假设有两个标的物

它们对应的向量(即图2中矩阵的列向量,分别是第i列和第j列)如下,其中n是用户数。

那么

      1. 基于协同过滤算法的实验方案

协同过滤算法中对推荐系统中推荐结果的好坏影响最大的两个因素是数据的稀疏程度和最近邻居用户的个数。因此本文在验证算法的有效性时考虑到了以]两个因素。本文设计了几组实验把本文提出的改进算法和传统的基于用户的协同过滤算法3进行对比,对于公式(4.4)中的a 、B分别取 0.2 和 0.5,聚类数目K30。详细的实验方案为:

实验一:利用MoieveLens 数据集来考察平衡因子的变化对推荐结果的影响。

实验二:利用 MoiveLens 数据集,来比较训练集比例不同时算法的性能,察训练集比例的不同对推荐结果的影响

实验三:利用 MoiveLens 数据集,来比较最近邻居数目不同时算法的性能考察最近邻居集数目对推荐结果的影响。

  1. 系统实现
    1. 系统首页界面实现

用户打开校园二手交易网站的网址后,首先看到的就是首页界面。在这里,人们能够看到校园二手交易网站中各种在售商品信息的分类,看到校园二手交易网站的导航条,看到校园二手交易网站顶部的搜索栏,还有登录/注册的链接。

校园二手交易网站首页界面如图5-1所示:

    1. 登录注册界面实现

当人们进入校园二手交易网站后,可以随意浏览校园二手交易网站中现有的店铺信息和商品信息,人们能够通过注册功能,轻松注册成为校园二手交易网站的用户,然后登陆用户账号,才能进行商品收藏、商品购买、二手物品出售等一系列的操作。管理员的账号则是固定的,管理登录管理员账号后对系统内容进行管理。

用户在校园二手交易网站的登陆入口是同一个界面,但是,当他们输入账号密码后,经过服务器判定身份,才会拥有不同的功能权限。

校园二手交易网站注册界面如图5-2所示:

    1. 前台功能模块实现
      1. 个人中心的实现

在个人中心管理模块,用户可以对个人信息进行修改、充值余额,还可以对我的订单、我的地址、我的收藏等内容进行管理。

个人中心模块界面实现如图5-3-1示:

      1. 商品信息的实现

在输入栏输入商品名称、商品分类、品牌、店铺名进行搜索,进入商品信息页面可以查看到商品详情并进行添加到购物车,立即购买或收藏、评论操作。

商品详细信息页面如图5-3-2所示:

      1. 店铺信息的实现

用户在店铺信息列表页面,可以通过输入店铺名进行查询操作,进入店铺信息详情页面可以查看店铺详情,并进行收藏、评论等操作。

店铺信息页面如图5-3-3所示:

      1.  购物车的实现

用户通过在购物车页面可以查看购买商品、图片、价格、数量、总价等信息进行点击购买或删除。

购物车界面如图5-3-4所示:

    1. 管理员模块实现
      1. 管理员主页面功能

管理员进入主页面,主要功能包括对个人中心、用户管理、店铺信息管理、商品信息管理、商品分类管理、系统管理、订单管理等进行操作。

管理员主页面如图5-4-1所示:

      1. 用户管理

管理员进入用户管理界面可以对用户信息进行查看详情,新增、修改和删除等操作。

用户管理界面如图5-4-2所示:

      1. 店铺信息管理

管理员进入店铺信息管理页面可以对店铺进行管理。店铺信息列表除了展示店铺常规信息,还有查看评论、修改、删除等操作。

店铺信息管理界面如图5-4-3所示:

      1. 商品信息管理

管理员进入商品信息管理页面可以对校园二手交易网站的商品信息进行管理。商品列表除了展示商品常规信息,还有审核、查看评论、修改、删除等操作。

商品信息管理界面如图5-11所示:

      1. 系统管理

管理员进入系统管理页面可以对系统简介、网站公告、客服中心、关于我们、轮播图管理以及进行管理。

系统管理界面如图5-12所示:

    1. 用户后台模块实现
      1. 用户后台主页面功能

用户登录进入后台主页面,主要功能包括对个人中心、店铺信息管理、商品信息管理、订单管理等进行操作。

在店铺信息管理页面,点击新增的按钮,用户可以通过输入相关信息来新增店铺信息,如图5-5-1所示:

      1. 商品信息管理模块

用户能在登录后,可以通过输入商品名称、商品分类、品牌、规格、图片、账号、店铺名、价格、商品介绍等信息来新增商品信息,并进行修改、删除、查看评论等操作。用户发布的商品信息需要管理员审核通过了才能在前台展示。

商品信息管理界面如图5-5-2所示:

    1. 个性化推荐页面实现
      1. 协同过滤算法的设计与实现

由文中上述可知,本系统中的个性化商品的推荐的实现是由协同过滤率算法来实现的。协同过滤率算法在文中以有所描述,这里主要详细的介绍,本文系统实现个性化推荐这个功能的主的设计方法与实现过程。

本系统的协同过滤率算法的计算核心是根据用户购买的商品经行过滤推荐比如用户A购买了商品类型为a的商品1,而a类型的商品总共有(1,2,3,4,5,6...)那么可以认为用户A肯定会对商品类型为a的其他商品(2,3,4,5,6...)也感兴趣,那么系统经过计算就会吧a类型的商品(2,3,4,5,6...)优先推荐给用户A。可以用表5-1来表现。

                  表5-1 已购买商品过滤推荐算法描述

购买过的商品类型

购买过的商品信息

推荐的商品类型

推荐的商品信息

各商品类型的商品信息

用户A

a,b

a{1},b{6}

a,b

a{2,3}

b{4,5}

a{1,2,3}

b{4,5,6}

c{7,8,9}

用户B

a,c

a{2},c{9}

a,c

a{1,3}

c{7,8}

用户C

b,c

b{4},c{8}

b,c

b{5,6}

c{7,9}

根据上述描述的过滤算法,个性化商品推荐的主要实现步骤为:

  1. 根据用户名等信息查询用户已购买支付的订单信息。
  2. (2)根据订单信息,查询到该订单购买的商品,以及商品类型。
  3. (3)根据查询到的商品,以及商品类型去重。
  4. 将同一类型下已购买的商品去除,未购买的商品信息根据分类装入个性化推荐商品集合,发送到前端,展示给各户。

算法的主要实现代码如下图5-6-1 所示

图5-6-1过滤算法核心代码图

5.6.1 个性化商品的推荐页面实现

经过上述协同过滤算法的计算,可以知道,每个用户喜欢的商品信息,用户在登录系统后,系统会自动按照过滤算法的计算出来的商品信息集合通过前端智能排序在用户首页经行展示。其中前端智能排序的核心代码为图5-6-2所示

图5-6-2 前端推荐智能排序核心代码

个性化商品推荐效果图如图5-6-3所示

图5-6-3个性化推荐页面效果图

  1. 系统测试
    1. 测试方法

依据环节不一样,测试的方法可以分为系统测试、集成化测试、模块测试和工程验收测试。根据本项目基于协同过滤推荐算法的校园二手交易网站的核心个性化推荐,主要测试的地方为协同过滤推荐算法的推荐准确率测试。

6.2 测试用例

测试用例1:用户个性化商品推荐准确率测试,

1,使用一个测试用户购买几个商品类型下的数个商品,然后下订单。

2,然后刷新首页或者重新登录,查看商品推荐的商品信息是不是属于之前购买订单的商品所属类型以及查看推荐的商品信息有没有和已购买过的商品信息重复。

3,若是推荐的商品信息类型属于已购买过的商品类型,同时商品信息和已购买过的商品信息不相同,则表示协同过滤算法的个性化商品推荐功能正确无误。

测试数据来源:本测试用例的数据使用TestDataBuilder软件来生成,TestDataBuilder是一个采用Java编写的,完全开源,免费的测试数据生成工具,它能根据数据库表的信息生成对应的测试数据。

使用到的测试数据信息:用户信息,用户订单信息,商品类型信息,商品信息。

具体测试过程如下表6-2-1所示

表6-2-1 测试用例一测试流程表

使用到的测试数据

操作步骤

结果

是否成功

新建订单信息

用户数据

商品类型数据商品数据

订单数据

  1. 使用用户test1登录系统.
  2. 选择商品分类1下的商品a加入购物车。
  3. 选择商品分类2下的商品e,加入购物车。
  4. 选中购物车内的商品a和e下单,生成订单并支付。

生成一条有商品a和商品e的订单信息。

成功

查看个性化推荐信息

用户数据

商品类型数据商品数据

订单数据

1,测试用户退出系统重新登录或者刷新系统主页。

2,查看商品推荐信息

商品推荐信息显示五件商品信息。其中分别为,商品分类1下的商品b,c两件商品,以及商品分类2下的商品d,f,g三件商品信息,无其他分类的商品信息以及无以购买过的商品信息。

成功

6.3 测试总结

    这次的测试是为了实现基于协同过滤算法的个性化商品推荐以及商品推荐的准确率而作的测试,通过上表及其实际操作的结果可以看出,基于协同过滤算法的个性化商品推荐功能是正常的。

经过上述测试,这个基于协同过滤推荐算法的校园二手交易网站在各项操作中可按照预期的设计运行,能够实现基于个性化的商品推荐以及校园二手交易管理的开发目标与要求。重要的是,这个系统就是根据用户的需求切身开发,根据对用户需求分析,用最合适的结构保证系统的稳定确保用户在使用该系统的不会崩溃能够稳定的加载出界面。真正的做到以用户为中心进行设计。对于我们这个于协同过滤推荐算法的校园二手交易网站来说,对系统的质量管控还是比较严格的,如果一个界面出现问题,紧接着页面就会根据错误给出提示追踪到每一行甚至那个单词,从而保证运行的质量。我们这个系统的测试主要就是保证他在运行时的稳定质量以及协同过滤算法推荐的正确性,准确性。所以经过上述测试结果可以看出,本系统操作流畅,协同过滤算法推荐准确。

  1. 结论

基于协同过滤算法的校园二手交易网站的开发是为了解决“信息过载”问题。本系统结合二手物品交易过程中的特点,集合了Web应用系统,将B/S作为架构基础,用Python语言进行代码编写,数据库采用MySQL来存放数据,协同过滤技术用于实现个性化推荐。开发出了一个有实际应用价值的校园二手交易网站。对校园资源信息整合;最大程度减少了资源浪费,实现资源重复利用。

首先对基于协同过滤算法的校园二手交易网站研究背景及个性化的发展现状进行了简单的介绍;随后介绍了个性化推荐系统的基本概念及其分类运用行业及对系统功能的设计。最后介绍了使用基于协同过滤算法实现网页中个性化推荐页面的实现。

校园二手交易网站还有很多细节问题,由于个人能力有限,系统还不是很完美,可以优化的地方很多,在未来的工作中我会吸取这次毕业设计宝贵的经验,并将经验应用到实际的开发中。

致谢语

相逢一见太匆匆,校内繁花几度红。行文至此,落笔之处,也意味着大学生活即将结束。目之所及,皆是回忆,心之向往,皆是过往。

忘不了图书馆的霓虹灯,忘不了教学楼的朗读声。当年不以为然,总觉来日方长,殊不知人生是减法,论文的完稿将为我的大学本科学习生活画上一个圆满的句号。回想初到学校结识的同学,我的室友们。诲人不倦的老师,各种美好的回忆依旧历历在目。

首先,我真诚的感谢我的导师在百忙之中对我的论文悉心指导,老师认真负责的工作态度以及待人真诚的品格,给我留下了终身难忘的印象。特向老师致以最诚挚的谢意和最崇高的敬意。

其次,父母之爱子,则为之计深远。感谢父母20余载的悉心培养和教育,感谢他们在我求学之路上的无私支持与默默付出。在我遇到困惑时指点方向,在我遇到烦恼时耐心开导,作为我最坚强的后盾祝愿父母在以后的生活中身体健康,万事如意。

再次,感谢一直以来陪伴我的朋友们。在我的生活等方面对我进行相当大的帮助和支持。直到与这段旅程说再见时我才意识到原来大学成就了我最美好的年纪,时间的手把想象中涂抹得愈加清晰真实,此去经年,告别学生时代而我们依旧如初。

另外在大学期间的学习中我收获的不仅仅是学业上的提升,收获的更多是生活和人生的财富,过去的大学时光,是一个亲切,使人难忘的时光,感谢所有陪伴我成长的老师、同学、亲人。

参考文献

  1. 杨宏胜.基于大数据的用户个性化推荐系统[D].南京邮电大学2020
  2. 胡一.基于大数据的电子商务个性化信息推荐服务模式研究[D].吉林大学.2015
  3. 李锋,冷娜.协同过滤的纺织面料推荐系统[J]. 计算机应用,2018.
  4. 邓子云,燕锋. Python网络编程从基础到实践(第二版).北京:电子工业出版社,2018.
  5. 张银鹤,刘治国. Python动态网站开发实践教程. 北京:清华大学出版社,2018.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值