数据挖掘在网上书店个性化推荐中的应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据挖掘在网上书店个性化推荐中的应用
沈娟;陈秀明
【摘要】With the popularity of the rapid development of the Internet and e-commerce, online book-store is favored increasingly by the majority of users.The database system also stores a lot of data about the user and the book.These data are not only used to query and report output but also to data mining.More effective in-formation is used as decision-support.This paper is to design a data mining function which has online bookstore system.The personalized recommendation of online bookstore is based on the personalized recommendation tech-nology with association rules.%随着互联网的迅速发展及电子商务的普及,网上书店越来越受到广大用户的青睐,系统数据库中也存储了关于用户及图书的大量数据,这些数据不仅仅用来被查询、输出报表等,更重要的是对这些数据进行挖掘,得到更多有效地信息作为决策支持,本文主要是设计一个具有数据挖掘功能的网上书店系统,应用基于关联规则的个性化推荐技术实现网上书店的图书个性化推荐。
【期刊名称】《佳木斯大学学报(自然科学版)》
【年(卷),期】2016(034)005
【总页数】3页(P824-826)
【关键词】数据挖掘;个性化推荐;Apriori算法;网上书店
【作者】沈娟;陈秀明
【作者单位】安徽新华学院信息工程学院,安徽合肥 230088;安徽新华学院信息
工程学院,安徽合肥 230088
【正文语种】中文
【中图分类】TP311.13
数据挖掘是通过对系统中的海量数据进行挖掘分析,从而发现其中所存在的有意义的关联及发展趋势的过程[1]。
在商业信息处理方面较多的用到该技术,主要用于
对大量商业业务数据进行抽取、转换、分析和模型化处理,从而发现其中关联关系,找到对商业决策有重大意义的关键性数据,并建立预测模型。
目前比较主流的个性化推荐技术主要有6大类,分别为:基于内容的推荐技术、
基于关联规则的推荐技术、协同过滤推荐技术、基于知识的推荐技术、基于效用的推荐技术以及基于用户统计信息的推荐技术等[2]。
其中关联规则和协同过滤推荐
这两种推荐技术没有上述几种推荐技术的局限,通过对网站销售的交易记录进行分析处理,从而得到较为准确的推荐关系,达到较好的推荐效果。
从推荐结果中不仅可以看出用户以前的阅读喜好,而且可以预测其后续的阅读喜好和购买行为。
此外,这两张推荐技术所需的数据在网站后台数据库中就存在,对其进行挖掘分析即可,可行性强[5]。
从已有的电子商务应用的效果来看,这两个推荐技术是用的最多最广也是效果最好的。
在本文中,将考虑采用基于关联规则的个性化推荐技术实现网上书店的图书个性化推荐。
根据客户在网上书店的购买习惯,通过推荐来提高客户满意度,提升服务质量的同时,增加网上书店的销售量,降低客户流失率。
网上书店数据库系统中包含了大量的数据信息,包括客户信息、订单信息等,如何从这些数据中挖掘到有效地信息以便销售者做出相应的销售策略,已经成为当前知
识经济时代需要解决的问题,而不是仅仅将这些数据用于查询、输出打印等普通用途,数据库系统已经被赋予了新的意义及作用。
例如在网上书店的订单系统中包含了大量的订单信息,其中每条订单信息都包含了客户购买书籍的名称、数量、金额及购买时间等数据,这些数据之间往往有所关联,隐含着相关信息。
譬如,当前Android系统正在盛行,很多人购买Android方面的书籍,仔细观察会发现在购
买Android书籍的客户中,80%的客户会同时购买了Java的书籍。
如图1所示。
这些关联规则的发现就为销售商提供了很多价值的信息,可以重新制定销售方案。
可以将这两类书相互之间设有链接,推荐其可能需要的书籍,方便用户查找;也可以对Android及Java中的某一种书籍作促销,从而可能带动另一中图书的销售。
数据挖掘的算法就能够很好的解决此类关联问题。
利用数据挖掘可以进行分类和预测,或进行关联分析、聚类分析、演变分析。
在该系统中,我们主要利用数据挖掘技术对图书销售记录进行分析,采用R.A g r a
w a l 的关联规则发现算法—— Apriori 算法,以便从销售记录中找到其中的关联,获得更高的销量、利润,提高用户满意度。
例如,购买每一类书的人群年龄结构的特点?某个季度销量低的因素?这些可以为销售商提供参考,以便下一步制定更为合理的销售策略,获得更高的利润销量,提高客户满意度。
关联规则分析此问题的形象化描述如下:设I={i1,i2,i3,…….,in}是n个项目的集合,设D是事务数据库的集合,其中每一个事务T是I中某些项目的集合,满足T⊆I。
如果A是I中的一个子集,且A⊂I,则有事务T包含A。
一个关联规则便是一个形如A=>B的蕴
涵式,其中A,B⊂I,且A∩B= Ф ,A即为规则的前提,B为结果。
对于A⊂I,若D中包含X的交易数即为A的支持度S。
如果用Support(A)表示A的支持度,则Support(A)=S。
关联规则A=>B的支持度定义为Support(A=>B)= Support(A)。
对于一个关联规则还有另一个衡量标准是信任度(Confidence),用C表示。
若D中同时包含A事务和B事务,则Confidence(A=>B)=Support(A∪B)/
Support(A)。
信任度Confidence表明了蕴含的强度,支持度Support则说明了
该模式在规则中出现的概率。
关联规则的分析即是所有具有用用户指定的最小信任度和最小支持度的关联规则从D中筛选出来。
例如如果从数据库中得到以下9组
交易记录,如表1.
在表1中每一行都代表一次交易,A,B,C,D,E分别代表5本书。
如果最小支持度是22%那么每件商品至少出现9*22%=2次才算是频繁。
第一次扫描数据库,使得在每次交易中,按书籍名称增序排列。
第二次扫描数据,找到频繁项集为1的元素,如表2。
表2左边表示的是书籍名称,右边是出现的次数,都是大于阈值2的,然后进行
第三次扫描,将书籍两两组合,第三次扫描数据得到它们出现的次数,如表3。
这里需要将支持度计数小于2过滤了,实际获得的频繁项集为2的元素,如表4. 在例子中只是选取了9组交易数据,在实际的网上书店平台上交易数据是十分庞
大的,在构建频繁项集就需要用到Apriori的核心:如果K+1个元素构成频繁项集,那么它的任意K个元素的子集也是频繁项集。
然后将每组K+1个元素的所有长度为K的子集,有种组合,在频繁项集为K的项集中匹配,若没找到则删除,用第一条记录{A,B,C}它的评分项集为2的频繁项集有种,分别是
{A,B},{A,C},{B,C}。
通过这步过滤可以获得一个准频繁项集{A,B,C},{A,B,E}{A,B,D}.
第四次扫描数据库,由于{A,B,D}只出现了一次,小于最小支持度2,需要过滤掉,如表5。
下面利用数据挖掘技术中的关联规则分析在某一次购书进程中用户购买的不同种类书籍之间的相关性,这对于了解用户的购买习惯,制定更符合用户购买习惯的销售策略比如制定目录有很大的作用。
例如可以帮助制定新的促销策略,重新规划各类书籍的市场份额,假设利用关联规则挖掘后得到规则1:Y=>Z(可信度C=90%),
规则2:Y=>X(可信度C=60%)等。
其中X表示《数据库开发与设计》,Y表示《C语言程序设计》,Z表示《数据结构》。
规则1 表明:90%的客户在购买了《C语言程序设计》的同时会购买《数据结构》;规则2表明,60%的客户在购买了《C语言程序设计》后会购买《数据库开发与设计》。
如图2所示。
在购书过程中普遍存在着类似的关联规则。
我们也能够看出X,Y,Z之间存在着非常密切的关系。
因此,在制定销售策略如设计搜索目录时可以将关联的书放得较近些,一方面方便客户查阅,另一方面也可以促进销售。