资源描述:
《大型超市购物篮问题.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.......模式识别期中作业--挖掘布尔关联规则频繁项集的算法——Apriori算法c.............一、问题重述作为超市的经理,经常关心的问题是顾客的购物习惯。他们想知道:“什么商品组或集合顾客多半会在一次购物时同时购买?”。现在假设你们是某超市的市场分析员,已经掌握了该超市近一个星期的所有顾客购买物品的清单和相应商品的价格,需要你们给超市经理一个合理的“购物篮”分析报告,并提供一个促销计划的初步方案。问题一:附件1中的表格数据显示了该超市在一个星期内的4717个顾客对999种商品的购买
2、记录,对数据进行分析,试建立一种数学模型,使该模型能定量表达超市中多种商品间的关联关系的密切程度。问题二:根据问题1建立的模型,通过一种快速有效的方法从附件1中的购买记录中分析出哪些商品是最频繁被同时购买的,找到的最频繁被同时购买的商品数量越多越好。问题三:附件2给出了这999中商品的对应的利润,根据在问题1、问题2中建立的模型,设定一种初步的促销方案,使超市的效益进一步增大。二、模型的假设1、假设各个商品的利润保持不变。2、假设表格中的数据能真实地反映当地消费者的购物情况。3、假设短时间内商品的销售
3、情况维持稳定,不会出现大幅波动。三、符号说明符号解释说明si组合i的支持度c(A=>B)规则A=>B的置信度c(B=>A)规则B=>A的置信度ci组合i的平均置信度smin最小支持度cmin最小置信度μ关联密切系数H促销系数c.............四、问题分析本题是关于大型超市“购物篮”的分析问题,涉及到数据挖掘、关联规则等相关问题。本题的三个问题是层层递进的关系,要求通过对商品购买数据的分析,找到关联程度较高且购买次数较高的商品,最后设计出合理的超市促销方案。问题一,由于购物篮分析是关联规则挖掘
4、的一个典型案例,因此我们采用一种最有影响的挖掘布尔关联规则频繁项集的算法——Apriori算法。利用其基本思想,进行了商品两种之间的支持度和置信度计算,在定义最小支持度和最小置信度后,进行筛选得到关联规则集。为定量地表达超市中多种商品间的关联关系的密切程度,本文引入一个关联密切系数进行衡量分别对12个组合求解平均置信度,进而得到该组的关联密切系数。由此认为,关联密切系数越大的商品组合,其关联关系密切程度较高。问题二,在得到商品两种关联数据的基础上,仅考虑商品支持度的大小,求得在一定最小支持度下被频繁地
5、同时购买的商品组合。同时为使商品数量尽量多,我们在两种组合的情况下延伸至三种组合,四种组合……以此得到尽可能多的商品被频繁同时购买的信息,尽量靠近最频繁被同时购买且商品数量越多的双重目标。问题三,在结合商品利润的条件下,考虑两种组合中各商品的利润、支持度和置信度,分别计算出三者的乘积再求和,记为促销系数H,并以此作为衡量此组合商品是否进行促销的标准。当结果较高时,我们就采取就近摆放、打折促销、消费送礼等捆绑销售方式式得到一种促销方案,在方便顾客的购买的同时,增加消费者对该超市的有好感和信任度,最终使得
6、超市的效益进一步增大。五、模型的建立和求解模型一:基于Apriori算法的关联规则挖掘模型1.模型的准备设:I={i1,i2......,im}是所有项目的集合.D是所有事务的集合(即数据库),每个事务T是一些项目的集合,T包含在D中,每个事务可以用唯一的标识符TID来标识.设X为某些项目的集合,如果X包含在T中,则称事务T包含X,关联规则则表示为如下形式(X包含在T)=>(Y包含在T)的蕴涵式,这里X包含在I中,Y包含在I中,并且X∧Y=Φ.其意义在于一个事务中某些项的出现,可推导出另一些项在同一事
7、务中也出现(为简单化,将(X包含在T)=>(Y包含在T)表示为X=>Y,这里,‘=>’称为‘关联’操作,X称为关联规则的先决条件,Y称为关联规则的结果).事务数据库D中的规则X=>Y是由支持度s(support)和置信度c(confidence)约束,置信度表示规则的强度,支持度表示在规则中出现的频度。数据项集X的支持度s(X)是D中包含X的事务数量与D的总事务数量之比,但为下文便于叙述,数据项集X的支持度是用数据库D中包含X的数量来表示;c.............规则X=>Y的支持度s定义为:在D
8、中包含X∪Y的事务所占比例为s%,表示同时包含X和Y的事务数量与D的总事务量之比。用该项集出现的次数除以TID总数即可得到,用如下公式表示:Support(X)=Count(X)/Count(TID)规则X=>Y的置信度c定义为:在D中,c%的事务包含X的同时也包含Y,表示D中包含X的事务中有多大可能性包含Y.依据所求的频繁项集,及所求得的支持度,运用如下公式求解:Confidence(X=>Y)=Support(X∪Y)/Support(X)最小支持度