信息安全毕业论文_数据挖掘_开题报告.doc_第1页
信息安全毕业论文_数据挖掘_开题报告.doc_第2页
信息安全毕业论文_数据挖掘_开题报告.doc_第3页
信息安全毕业论文_数据挖掘_开题报告.doc_第4页
信息安全毕业论文_数据挖掘_开题报告.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浙江大学远程教育学院本科生毕业论文(设计)题 目 专 业 学习中心 姓 名 学 号指导教师 2010年10月28日论 文 摘 要数据挖掘技术逐渐成为研究热点,应用越来越广泛。随着国民经济的快速发展,零售业快速发展,竞争激烈,零售企业也积累了大量的原始数据。数据挖掘技术中的关联规则挖掘是购物篮分析的最重要的一种技术,购物篮分析有很多人研究,但利用分析后的数据来指导企业的经营不多,本文重着重研究购物篮分析后的一些有用的信息,是怎样来指导企业经营分析,构成一个数据挖掘的闭环系统。关键词:数据挖掘、零售业、购物篮分析、聚类分析目录一、课题研究的背景及意义及介绍商业智能和数据挖掘技术的相关内容4(一)课题研究的背景及意义4(二)国内外关于数据挖掘技术研究现状41、国内研究现状42、国外研究现状4(三)本文研究内容概述5二、根据零售超市的行业数据特点,分析数据挖掘的在零售的行业主要应用5(一)关联规则挖掘5(二)聚类分析5三、介绍关联规则算法理论基础5(一)阐述经典算法apriori算法6四、关联规则挖掘模型建模8(一)数据预处理8(二)使用spss clementine 软件实现apriori算法及性能111、定义数据源(数据装载)112、关联模型参数说明:11五、全文的总结及数据挖掘以后在零售行业的研究方向15(一)全文总结15(二)数据挖掘以后在零售行业的研究方向及前景展望15六、参考文献:16一、 课题研究的背景及意义及介绍商业智能和数据挖掘技术的相关内容(一) 课题研究的背景及意义零售企业在经营过程中产生了海量的信息,这些信息蕴藏了丰富的顾客消费行为和市场规律。怎样有效地利用这些宝贵的信息,让它们更好地为企业经营服务,成为了零售企业的一个迫切愿望和现实难点。过去的十几年里,信息化在零售业的的做大做强中,起到了不可或缺的作用,不可想象在一个大型超市不使用信息化来管理,如何来管理达到几十万数量的商品的价格、库存、销售等,但是现在国内的零售企业的信息化只是使用传统的mis系统用来协肋工作人员处理日常业务,减少重复劳动,好一点的mis系统会有相关的报表系统为不同的管理层提供一些报表支持。但现在的报表系统一般只能用来分析汇总的销售、库存、毛利等情况。零售企业为了在激烈的市场竞争中谋得一席之地,积极投入到商业智能系统的开发与实施中,希望更精准地掌握企业运营状况、商品销售情况及顾客消费习惯等信息。商业智能系统作为现代零售企业提高管理和决策水平的重要手段,在开发技术和思路上必须适应新的需求,而实现商业智能系统的最关键的技术之一就是数据挖掘技术。(二) 国内外关于数据挖掘技术研究现状1、 国内研究现状数据挖掘技术研究应用领域广泛,不仅应用到传统行业比如零售行业、电信行业、银行业等行业,而且随着科学技术的不断进步和信息化程度的不断加快,中国零售企业的信息化已进入挖掘价值的时代。专家指出,如果说科学决策是企业的高级境界,那么数据挖掘则是目前企业信息化的高级境界。从数据中寻找知识和思想、挖掘财富、发现决策依据,这些正是数据挖掘对企业的直接贡献,也是企业信息化的重要体现。当前国内零售业的数据挖掘工作基本上还处于探索阶段,据了解,许多零售企业使用收款结帐设备获得的海量相关销售数据,都没有得到充分的应用,这些数据本来可以帮助零售商实施精准营销,控制库存、降低库存风险等以创造更大的商业价值,却被零售企业忽略掉了。国内的零售企业的应用数量多,但高水平的应用比较少,国内的各种零售业态基本上都是从国克隆过来的,直观上的如布局、装潢、商品阵列、促销方式,甚至包括员工的服务方式等都是容易学习的,而对于诸如仓储、物流、管理、客户数据的收集、整理和挖掘这些方面,由于是在后台进行,所以很难快速学习并投入实用,更不用说成熟的数据挖掘方案了。对于零售行业的数据挖掘研究,主要集中在购物篮分析、crm顾客分析等,购物篮分析的国内理论研究方面主要聚集于关联规则算法本身的研究和度量规则的优化。复旦大学一直从事这方面的研究,朱扬勇等把一个应用于特征规则基于差异思想的兴趣度定义运用到关联规则中,重新设置了兴趣度;武汉科技大学的张新霞等提出基于统计相关性的兴趣度关联规则;2、国外研究现状在国外,数据挖掘已经投入应用领域,sas公司的enterprise mnier,oracle obiee,ibm的bo,ncr的teradata warehouse miner等软件已经被广泛在各个商业领域中。很多大型的零售商都采用了数据挖掘工具来进行决策分析,关联规则挖掘已经投入应用领域,交叉销售、库存控制和客户分类设计等都是零售业数据挖掘的主要内容。以沃尔玛为例它采用了bo的方案,信息化已发展到以营销和顾客为中心的阶段并开发出了一些像优惠卷和积分卡的应用。通过数据仓库记录的消费者的详细信息,很容易做进一步的深入挖掘和分析,以了解消费者的消费习惯从而实施交叉销售等数据挖掘应用。它们都没有将数据数据挖掘技术和零售业的应用结合起来,今后的一些研究方向主要针对以下几个问题:一是在处理海量数据时,如何提高算法效率;二是如何进一步研究迅速更新的数据的挖掘;三是在挖掘的过程中,提供一种与用户进行交互的方法,将用户的领域知识结合在其中;四是生成结果的的可视化问题等。提高数据挖掘的易用性。目前市场上有多种适用解决所有商业模式的通用的数据挖掘系统,但实际上这些系统并不好用,普通用户很难应用这些技术解决自己的商业问题。问题在于如何将数据挖掘技术与现有技术很好地结合起来,如果不能将特殊领域的商业逻辑与数据仓库技术集成起来,数据挖掘的分析效果和效益不可能达到要求。系统的定制,软件供应商和企业互相交流,对系统功能的不断完善和扩充可以在一定程度上解决这个问题。(三) 本文研究内容概述一家超市的购物篮分析,通过对这家超市的现有pos系统的数据,使用spss clementine关联规则建模从现有的超市系统的数据挖掘出有用的信息,本文重着重研究购物篮分析后的一些有用的信息,是怎样来指导企业经营分析,构成一个数据挖掘的闭环系统。二、 根据零售超市的行业数据特点,分析数据挖掘的在零售的行业主要应用(一) 关联规则挖掘关联规则挖掘是数据挖掘中最活跃的研究方法之一,最早是由agrawal等人在1993年提出来的。关联规则是寻找在同一个事件中出现的不同项的相关性,比如在一次购买活动中所购买的不同商品之间的相关性。关联分析,以称购物篮分析,即利用关联规则进行数据挖掘,在零售企业中用来指导销售配货、商品阵列、超市购物动线设计和促销等。关联规则在商业领域的应用中,最经典的例子就是“啤酒和尿布”的故事。这个故事是说在美国的沃尔玛超市,一些年轻的父亲下班后经常要到超市去购买婴儿尿布 ,超市发现,在这些购买了尿布的年轻父亲中,有30%-40%的人同时要买一些啤酒。于是超市就把尿布和啤酒放在一起卖,明显增加了销售额。(二) 聚类分析聚类就是把整个数据分成不同的组,并使组与组之间的距离尽可能大,组内数据的差异尽可能小。与分类不同,在开始聚集之前用户并不知道要把数据分成几组,也不知道分组的具体标准,聚类分析时数据集合的特征是未知的。聚类要一定的聚类规则,将具有某种相同特征的数据聚在一起,也称为无监督学习。而分类,用户则知道数据可分为几类,将要处理的数据按照分类分入不同的类别,也称为有监督学习。针对使用会员卡的超市,可以利用会员卡信息和销售数据联系在一起,利用数据挖掘的聚类分析方法,区分不同类型的会员,找到所谓的vip会员和潜在的高端客户和他们的特征,针对这些特征做针对性的营销。三、 介绍关联规则算法理论基础(一) 阐述经典算法apriori算法 引自数据挖掘:概念与技术,机械工业出版社,2007.3我们想像全域是商店中的商品的集合,则每一种商品有一个布尔变量,表示该商品是否出现。每个购物篮则可用一个为这些变量指定值的布尔向量表示。可以分析布尔向量,得到反映商品频繁关联或同时购买模式。这些模式可以用关联规则的形式表示。例如,购买牛奶也趋向于同时购买面包的顾客信息可以用以下关联规则(2-1)表示:牛奶面包support=2%,confidence=60%(2-1)规则的支持度(support)和置信度(confidence)是规则兴趣度的两种度量。它们分别所反映的规则的有用性和确定性。关联规则(2-1)的支持度为2%竟味着所分析的所有事务的2%同时购买了牛奶和面包。置信度60%竟味着购买牛奶的顾客60%也购买了面包。典型情况下,如果关联规则同时满足最小支持度阈值和最小置信度阈值,则此关联规则是有趣的。这些阈值可以由用户或领域专家设定。也可以进行其他分析,揭示关联项之间的有趣的统计相关。apriori算法是r.agrawal和r.srikant于1994年提出的为布尔关联规则挖掘频繁项集的原创性算法。apriori使用一种称作逐层搜索的迭代方法,k项集用于探索(k+1)项集。首先,通过扫描数据库,累积每个项的计数,并收集满足最小支持度的项,找出频繁1项集的集合。该集合记作l1。然后,l1用于找频繁2项集的集合l2,l2用于找l3,如此下去,真到不能再找到频繁k项集。找每个lk需要一次数据库全扫描。让我们看一个具体例子来说明apriori算法:tid商品id的列表t11,2,5t22,4t32,3t41,2,4t51,3t62,3t71,3t81,2,3,5t91,2,3图表 1项集支持度计数(1)6(2)7(3)6(4)2(5)2项集支持度计数(1)6(2)7(3)6(4)2(5)2扫描d,对每一个候选计数l1c1比较候选支持度计数与最小支持度计数c2l2c2项集(1,2)由l1产生候选c2(1,3)(1,4)(1,5)(2,3)(2,4)(2,5)(3,4)(3,5)(4,5)项集计数(1,2)4(1,3)比较候选支持度计数与最小支持度计数4(1,4)1(1,5)2(2,3)4(2,4)2(2,5)2(3,4)0(3,5)1(4,5)0项集支持度计数(1,2)4(1,3)4(1,5)2(2,3)4(2,4)2(2,5)2扫描d,对每个候选计数c3l3项集支持度计数(1,2,3)2(1,2,5)2比较候选支持度计数与最小支持度计数c3扫描d,对每个候选计数由l2产生候选c3项集(1,2,3)(1,2,5)项集支持度计数(1,2,3)2(1,2,5)2图表 2从上图中可以看出(1,2,3),(1,2,5)是频繁项集。一旦从数据库d中的事务找出频繁项集,可直接由它们产生强关联规则(强关联规则满足最小支持度和最小置信度)。对于置信度,可以用下式计算。confidence(a=b)=p(b|a)=support_count(aub)/support_count(a)假定数据库含频繁项集l=1,2,5。l的非空子集有1,2,1,5,2,5,1,2,5。结果关联规则如下,每个都列出置信度:i. confidence(12=5)=2/4=50%ii. confidence(15=2)=2/2=100%iii. confidence(25=1)=2/2=100%iv. confidence(1=25)=2/6=33%v. confidence(2=15)=2/7=29%vi. confidence(5=12)=2/2=100%假定最小置信度阈值为70%,则只有ii,iii和vi规则可以输出。因为只有这些产生强规则。apriori算法的效率较低,有很多研究提出了apriori的变形,如基于散列的技术,等等。在这里不再阐述。四、 关联规则挖掘模型建模(一) 数据预处理本文的关联模型构建是基于一家大型连锁超市的2007上半年实际零售数据。取2007年4月到5月单笔购物品项数大于1个,金额大于等于30元的数据,有3164584笔销售,也就是有这么多购物篮数据,数据量应该说是相当大。这家超市的商品单品数量达到212233个,如果对单品挖掘关联规则,支持度、置信度会很低,很难挖掘有意义的规则出来,因此本文不对具体产品建模,而是对商品的中类进行模型构建。所有商品分成81个中类,在这个级别的数据挖掘是可行的。实际的零售数据格式是这样的,一张buy2表有多个字段,字段含义如下表所示:buy2(销售明细表)1flowno 流水号 2posno 收银机号 3itemno 序号 4settleno 结转期号 5gid 商品 6qty 数量 7inprc 核算进价 8price 标准零售价 9realamt 实际销售额 10favamt 优惠总额 11tag 标记 12qpcgid 输入gid 13prmtag 促销标记 14assistant 营业员 15wrh 仓位 16invno 发票号 17cost 成本 18dealer 经办人 create table t_zhonglei_sale(t_id varchar(24),软性饮料 int default 0, 啤酒 int default 0, 果酒 int default 0, 米酒 int default 0, 烈酒 int default 0, 香烟 int default 0, 乳饮品 int default 0, 其它饮料 int default 0, 饼干及膨化食品 int default 0, 蜜饯糖果零食类 int default 0, 宠物食品 int default 0, 礼品1013 int default 0, 其它休闲食品 int default 0, 冲饮食品 int default 0, 速食米面 int default 0, 调味品 int default 0, 粮油杂粮 int default 0, 罐头食品 int default 0, 营养品 int default 0, 礼品 int default 0, 其它干性食品 int default 0, 急救用品 int default 0, 维生素 int default 0, 西药 int default 0, 中成药 int default 0, 外用药 int default 0, 性保健用品 int default 0, 其它医药用品 int default 0, 小型医疗用品 int default 0, 药品礼品 int default 0, 冷食 int default 0, 熟食类 int default 0, 西式熟食 int default 0, 便利即食 int default 0, 其它熟食 int default 0, 鱼类 int default 0, 贝壳类 int default 0, 虾类 int default 0, 蟹类 int default 0, 其它水产 int default 0, 加工品干制品 int default 0, 家畜类 int default 0, 腌腊制品 int default 0, 其它肉制品 int default 0, 鸡类 int default 0, 鸭类 int default 0, 其它禽类 int default 0, 蛋 int default 0, 其它禽蛋类 int default 0, 蔬菜 int default 0, 水果 int default 0, 其它蔬果 int default 0, 乳制品 int default 0, 熟食类2051 int default 0, 盆菜 int default 0, 冷冻食品 int default 0, 冰品类 int default 0, 其它冷冻冷藏 int default 0, 自制品 int default 0, 成品 int default 0, 其它面复制品类 int default 0, 面包类 int default 0, 蛋糕类 int default 0, 匹萨 int default 0, 糕点类 int default 0, 其它西点 int default 0, 成品面包 int default 0, 糕点蛋糕 int default 0, 其它面包糕点 int default 0, 散装干货 int default 0, 散装休闲食品 int default 0, 散装营养品 int default 0, 散装加工制品 int default 0, 散装酒 int default 0, 散装粮油 int default 0, 散装饼干 int default 0, 其它散装食品 int default 0, 花 int default 0,观赏鱼 int default 0,辅料 int default 0,原料 int default 0) create table t_zhonglei_buy(flownoposno varchar(24),zlhaochar(5),zhonglei varchar(20),)-goinsert into t_zhonglei_buyselect b1.flowno+b1.posno,s.code,s.zhongleifrom buy2range b2,buy1range b1,goods g,t_zhonglei swhere b1.flowno=b2.flowno and b1.posno=b2.posno and b1.flowno =200704010001 and b1.flowno 1 and b1.realamt=30 and b2.gid=g.gid and substring(g.sort,1,4)=s.code group by b1.flowno+b1.posno,s.code,s.zhonglei(3164584 行受影响)-建一个inst_t_zhonglei_sale存储过程把t_zhonglei_buy里的中类转成横表create procedure inst_t_zhonglei_sale asbeginset nocount ondeclare fullstatement nvarchar(4000)declarecolumnname nvarchar(50)declare t_id varchar(24)-set t_id=t-print t_iddeclare fetch_id cursor for select flownoposno, zhonglei from t_zhonglei_buyopen fetch_idfetch next from fetch_id into t_id,columnnamewhile fetch_status=0 beginset fullstatement= insert t_zhonglei_sale0 (t_id, +columnname+)values (+t_id +, 1+)-print fullstatementexecute (fullstatement)if error0 continuefetch next from fetch_id into t_id,columnnameendclose fetch_iddeallocate fetch_idend(二) 使用spss clementine 软件实现apriori算法及性能spss clementine里有一个modeling是使用上面介绍的apriori算法,下面介绍一下使用spss clementine,关联规则建模。1、定义数据源(数据装载)启动clementine系统,添加一个数据库源文件通过odbc连接到前面生成的t_goods_sale表。2、 关联模型参数说明:spss clementine关联规则模型创建主要有两个参数:一个是minimum antecedent support(%)意为最小支持度,一个参数是minimum rule confidence(%)意为最小置信度。minimum antecedent support如果设置得太低,算法会花很长时间来进行处理,对机器的内存占用也很高。在购物篮数据中,数据比较稀疏,可以将minimum confidence设置为5%-10%,从而得到比较合理的规则。如果是稠密数据要将此值设置为40%-50%,否则会产生比较矛盾的结果。这两个值的设置要综合考虑机器性能和产生规则的可读性,是一个经验值。和实际数据量有一定关系。在本文中为了查看规则的方便,设置支持度support=10%,置信度confidence=30%。在modeling界面下,选择apriori模型,用t_id做为一个购物篮,设置支持度support=10%,置信度confidence=30%。如下图所示:点击运算键,共产生128条规则。从上图挖掘出来的结果我们可以得出以下结论:大部分规则都是我们常人能够理解的同时购买的商品,在超市里也会看到这些商品一般都会放在同一个地方。置信度比较高的几个关联规则都是购买了蜜饯糖果零食类,在购买蜜饯糖果零食类的同时有60%多以上的人同时购买了软性饮料、饼干及膨化食品。购买蔬菜、水果、家畜类、乳制品的关联购买也较高,从前几位的关联规则可以看出,超市里的商品的阵列是引导商品销售的最重要的因素。这给我们超市的经营指出一个重要方向,超市的排面是最重要的资源,如果要提升超市的毛利率,应该把毛利最高的东西放在最方便的地方。那什么商品毛利最高呢,从超市的实践来看,自营品牌的商品的毛利最高,所以现在的超市都慢慢重视自有品牌,把自有品牌的东西放在最好的位置。关联规则分析还可以被用作关联商品价格促销策略的基础。商店的管理人员可以使用关联规则分析来计划打折促销。一般来说对两个关联产品同时进行打折可能并不是一个好主意,相反地,对一个进行打折会拉动另一个的销售。从上面的数据挖掘结果来看,我们可经对糖果做促销,可以带动其它关联产品的销售,而不降低企业的利润。我们把数据挖掘结果按支持度排序可以看到以下界面:从以上这个结果可以看到,水果、蔬菜、乳制品、家畜类、熟食类的购买的频次较高,这些都是生鲜商品。我们现在的大型超市一定要把生鲜这一块重点加强,生鲜做好了,可以带来很多客流量。但是从挖掘结果来看,生鲜类自身的几个中类的关联度较高,说明买蔬菜的顾客同时购买食品的置信度高,而其它跨品类的百货置信度不高。五、 全文的总结及数据挖掘以后在零售行业的研究方向(一) 全文总结本文采用杭州一家大型连锁超市的pos系统数据,在sql

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论