APP下载

Apriori算法的改进及在电子商务中的应用

2018-06-13袁晓建张岐山甘智平陈焕辉傅龙天

关键词:项集置信度事务

袁晓建, 张岐山, 甘智平, 陈焕辉, 傅龙天

(1. 福州外语外贸学院信息系, 福建 福州 350202; 2. 福州大学经济与管理学院, 福建 福州 350116; 3. 福州外语外贸学院教学发展中心, 福建 福州 350202)

0 引言

随着信息技术的发展和政府对电子商务领域的积极推动, 我国的电子商务正以前所未有的速度蓬勃发展, 并在经济发展中日渐凸显出带动作用. 但随着用户数量和产品数量的急剧增长, 以及用户需求的个性化、 多样化, 这对电子商务企业营销提出了更高的要求. 如何在存储的海量数据当中发现知识、 使用知识, 并结合实际情况向顾客推荐商品或者打折促销, 关联规则挖掘在现代营销中扮演着重要的角色.

关联规则挖掘是在数据中查找存在于项目集合中的频繁模式、 关联、 相关性及因果结构. Apriori算法是关联规则挖掘重要的方法, 它是Agrawal等[1]在1994年提出的.

1 关联规则和Apriori算法[2]

1.1 关联规则

关联规则提出的目的是为了寻找事务数据库中隐藏的不同项之间的联系, 在海量的数据库中找出频繁发生的项或子集, 以及项目之间的相互关联性. 其经典的应用就是大家熟知的“啤酒和尿布”案例. 它的原理可描述为:

设D是一个待挖掘分析的事务数据库,D中所有项目的项集为I={i1,i2, …,im}, 由此可知D中的每个事务都是I的一个子集. 并定义k项集为包含k个项目的集合. 记s(X)为项集X的支持度(sup), 其含义是事务数据库D中包含该项集的交易数据的条数. 设定最小支持度(minsup), 如果一个项集的支持度大于此最小支持度, 则称它是频繁的; 如果此项集的长度为k, 则称其为频繁k项集.

由以上表述, 本研究定义以下关联规则. 设项集A和项集B, 其中A⊆I,B⊆I, 并且A∩B=Ø, 规则A⟹B的支持度s(A⟹B)定义为事务数据库D中包含A∪B的事务所占的百分比, 由此可知, 支持度是一个百分比数值.

同样, 本研究定义置信度. 规则A⟹B的置信度c(conf)定义为事务数据库D中包含项集A∪B的事务数与包含项集A的事务数的比值. 设定最小置信度(minconf), 若由此计算出来的置信度大于设定的最小置信度, 那么认为挖掘到的规则是可信的.

关联规则挖掘的任务是在事务数据库D中找到支持度和置信度分别大于用户指定的最小支持度minsup和最小置信度minconf的规则A⟹B. 关联规则挖掘主要解决以下两个问题: 1)找出D中所有的符合要求的频繁项集; 2)从符合要求的频繁项集中挖掘关联规则.

1.2 Apriori算法及存在的困难

Apriori算法是基于关联规则常用的方法, 此算法实现挖掘过程分为两步: 1)通过多次迭代, 采集事务数据库中所有的频繁项集, 即采集所有支持度不低于用户设定的最小支持度的项集; 2)利用上一步采集的频繁项集, 构造出满足用户设定的最小置信度的规则.

Apriori算法的三大缺点为产生大量的候选集, 需要重复扫描数据库, 最小阈值难于合理设定. 自该算法提出以来, 众多学者就以上两方面的问题做了大量的研究工作, Apriori类算法日趋成熟.

但是, 经典Apriori算法或者基于效率改进的算法仍然面临一个巨大的困难. 首先, 考虑下面这个问题.

表1 某汽车用品电子商务事务数据库

某经营汽车用品的电商的事务数据库如表1所示.

数据库中有10个事务(即上文所说的10条交易记录), 则有|D|=10. 该数据库包含5种商品. 其中,i1: 车载香水;i2: 汽车脚垫;i3: 行车记录仪;i4: 除尘车掸;i5: 安全座椅. 若设定最小支持minsup=40%, 最小置信度 minconf=60%, 按传统的Apriori算法, 挖掘到如下两条规则:

i2⟹i4,i4⟹i2

以上的挖掘结果表明: 将汽车脚垫和除尘车掸捆绑销售, 或者用户购买其中一样的时候推销另外一样, 将有利于促进两者的互销, 为商家带来更好的收益. 不过, 对于负责销售或者运营的电商管理者而言, 这样的信息是在“情理之中”. 如果只是挖掘到这类“自然”的知识, 这样的数据挖掘是不令人满意, 是失败的.

对电子商务企业或者卖家来说, 最大限度地增加营业额或者利润, 是经营过程中最重要的问题. 所以, 经营者最感兴趣的是盈利程度远高于其他商品的行车记录仪(i3)的销售数量. 经营者想通过数据挖掘, 掌握到哪种商品的打折销售最容易诱导顾客购买行车记录仪(i3), 以及买了行车记录仪(i3)的顾客还会购买哪些商品. 其中, 第一个问题是经营者或者营销者最关心的问题. 可是, 传统的Apriori算法却挖掘不到任何有关行车记录仪(i3)的信息.

由此, 本研究总结出经典Apriori及基于效率改进的挖掘方法主要存在以下两方面问题:

1) 给事务数据库中D各项目赋予了相同的权重. 但是, 在实际的经营中, 电商需要根据季节、 营销节日、 项目(即商品)的利润、 销量等方面有重点地对商品进行推荐和推销.

2) 最小阈值难以合理设定. 算法实现过程中, 需根据设定的最小阈值, 对不满足阈值条件的候选频繁项集进行剪枝操作. 阈值设置太高, 容易遗漏重要的关联规则; 设置太低, 又会发现太多没有意义的甚至是虚假的关联规则, 降低算法效率[3].

为解决以上问题, 学者们引入了加权关联规则挖掘. 加权关联规则既考虑了规则中所有项目出现的次数, 又考虑了不同项目的重要性.

2 加权关联规则挖掘和W-Apriori算法简述

2.1 加权关联规则挖掘

加权关联规则描述如下: 设I={i1,i2, …,im}为数据库中的全部项集, 对应I的权重集为W={w1,w2, …,wm}, 其中,wi表示项目ii的重要程度, 且0≤wi≤1. 此外X⊆I,Y⊆I, 并且X∩Y=F, 记sup(X)和conf(X)分别为X的支持度和置信度. 由于引入了项目权重, 还需要定义项目集X的加权支持度和加权置信度, 设定最小加权支持度阈值minwsup和最小置信度阈值minwconf.

目前加权关联规则研究的学者较多, 简单整理如下.

为了解决以上算法在电子商务数据挖掘和推荐的不足, 本研究同时考虑了属性个数和属性权值的影响, 提出了一种新的加权关联规则支持度和置信度的计算方法, 并将此方法应用到W-Apriori算法[8]中. W-Apriori承接了Apriori算法的思想, 分步实现: 首先找出满足最小加权支持度约束的所有加权频繁项集, 然后利用频繁项集产生满足最小加权置信度约束的所有规则.

2.2 相关定义

本研究综合考虑商品的利润和销量, 以此来定义项集的推荐权值.

定义1利润权重.

同样条件下, 销售同一类的商品, 推销或者销售利润高的商品对商家盈利更有利. 对于某在销商品i的利润(Profit)权重定义如下:

其中: Profit(i)表示商品i的利润,D表示事务数据库中的所有商品.

定义2销量权重.

同样条件下, 热销产品或者销售量大的产品, 说明其市场潜力大, 客户接受程度高, 值得向客户推荐. 销量(Volume)权重定义如下:

其中: Volume(i) 表示商品i的销量.

定义3推荐权值.

结合以上两个定义, 得到某商品i的推荐(Recommendation)权值为:

定义4加权支持度和加权置信度.

设I={i1,i2, …,im}为数据库中商品的集合, 对应推荐权值向量记为W={w1,w2, …,wm}, (wi∈[0, 1]),m指某一事务项包含的商品数. 则(X,w(X))表示加权项集, 其中X⊂I,w(X)指项集X的权值. 项集X的加权支持度记为wsup(X)= sup(X)·w(X), 同时定义项集X的权值如下:

其中:X⊂I,Y⊂I. 若wsup(X∪Y)和wsup(X⟹Y)分别满足minwsup和minwconf, 规则X⟹Y即为强关联规则.

3 有效性分析

3.1 挖掘结果对比

考虑到加权值W(i)计算后数值较小, 在实际实现过程中, 需要乘以一个调节系数K, 该系数可根据商品的种类和销售数量灵活设定.

目前Apriori算法的改进多集中在算法运行效率的优化上, 也积累了较多的测试数据集, 如IBM Almadel 中心提供的标准数据集T10I4D100K和T40I10D100K. 在考虑权重方面, 也有较多学者进行算法优化, 但是测试集大多来自作者自行采集, 没有成熟的数据集可用, 尤其是本研究考虑了单品的利润因素, 包括著名的比利时零售市场数据集也无法利用.

表2利用经典Apriori算法挖掘的结果

Tab.2TheresultsusingclassicalApriorialgorithm(%)

鉴于以上情况, 本研究在国内某超市一组销售数据的基础上, 构造生成5 000条购物篮数据, 在C#.Net环境下, 与经典Apriori算法进行挖掘对比, 表2是利用经典的Apriori算法挖掘的结果, 表中支持度和置信度是系统计算得到的数值. 表3是利用上文所述改进的算法, 分别设置不同的支持度、 置信度和调节系数后挖掘的结果, 表格的顶部注明了具体的参数数值.

表3 利用改进的加权算法挖掘的结果

3.2 挖掘结果对比

此计算方法和算法, 克服了人为设置权值带来的不足, 从利润和销量两方面的实际情况进行计算.

从上面的挖掘结果可以看出, 改进后的算法不仅在考虑利润方面有了明显的优势, 而且考虑销量后, 还挖掘出另外一个“有趣”的购买习惯: 该数据样本来自我国西部某地的超市. 汾酒和苦荞面, 是“晋汾三绝”中的其中两样商品, 改变挖掘系数后, 也可从结果中看到苦荞面和陈醋的购买组合.

该改进算法也有不足之处. 比如在电子商务企业创建之初, 可能会出现因为销量权重过低, 产生挖掘到的都是推荐贵重(相对利润比较高)商品的情况, 这需要根据实际情况进行人为的干预.

另外, 可以根据不同季节的节假日促销, 设置其它的权重, 限于篇幅在此不再阐述.

4 结论

随着网购的迅猛发展, 精准营销和数据挖掘技术的运用越来越重要. 怎样有效地留住网上的用户, 从客户的消费数据中挖掘关联消费商品, 同时又能有效地增强电子商务企业的盈利能力, 将是未来电商企业竞争的主要问题[9].

本研究依据电子商务企业的实际运营情况, 在考虑商品利润和销量的基础上, 提出基于Apriori算法的加权关联规则模型, 为电子商务企业的经营决策打下坚实的理论基础.

参考文献:

[1] AGRAWAL R, SRIKANT R. Fast algorithms for mining association rules in large databases[C]// International Conference on Very Large Data Bases. San Francisco: Morgan Kaufmann Publishers Inc, 1994: 487-499.

[2] 韩家炜. 数据挖掘概念与技术[M]. 北京: 机械工业出版社, 2012: 160.

[3] 余绍黔. Apriori算法改进及在超市数据挖掘中应用[J]. 微计算机信息, 2011(11): 165-167.

[4] CAI C H, FU A W C, CHENG C H,etal. Mining association rules with weighted items[C]// Proceedings of the 1998 International Symposium on Database Engineering and Applications. Washington D C: IEEE Computer Society, 1998: 68.

[5] 张文献, 陆建江. 加权布尔型关联规则的研究[J]. 计算机工程, 2003, 29(9): 55-57.

[6] 张智军, 方颖, 许云涛. 基算法的水平加权关联规则挖掘[J]. 计算机工程与应用, 2003, 39(14): 197-199.

[7] SANDHU P S, DHALIWAL D S, PANDA S N,etal. An improvement in Apriori algorithm using profit and quantity[C]// International Conference on Computer and Network Technology. Washington D C: IEEE Computer Society, 2010: 3-7.

[8] 李中良. 基于Web日志挖掘和关联规则的个性化推荐系统模型研究[D]. 重庆: 西南大学, 2014.

[9] 贾桂霞, 赵锡英, 刘熠琦. 电子商务中关联推荐算法的应用研究[J]. 工业仪表与自动化装置, 2016(1): 43-45.

猜你喜欢

项集置信度事务
基于分布式事务的门架数据处理系统设计与实现
一种基于定位置信度预测的二阶段目标检测方法
硼铝复合材料硼含量置信度临界安全分析研究
河湖事务
不确定数据的约束频繁闭项集挖掘算法
正负关联规则两级置信度阈值设置方法
置信度条件下轴承寿命的可靠度分析
SQLServer自治事务实现方案探析
移动实时环境下的数据一致性研究
一种新的改进Apriori算法*