2020年数据挖掘文档精编版_第1页
2020年数据挖掘文档精编版_第2页
2020年数据挖掘文档精编版_第3页
2020年数据挖掘文档精编版_第4页
2020年数据挖掘文档精编版_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、精选文档长沙学院数据挖掘课程设计说明书题 目 基于 FP-tree 的 AdventureWork 的产品销售分析系 (部)信息与计算科学系专业(班级)10 级信科2班姓 名学 号 2010032218 2010032230指导教师陈治平谭义红胡赛起止日期2013/5/17 2013/5/27精选文档长沙学院数据挖掘课程设计任务书专业 信息与计算科学班级10 级1、2班指导老师陈治平谭义红胡赛任务书发出时间2013-5-5信息与计算科学系2013年5月5日课程设计任务书课程数据挖掘课程设计题目基于FP-tree的AdventureWorks产品销售分析序号1主 要 内 容基于Adventure

2、Works实例数据库,利用数据挖掘算法(关联规则分析) 进行数据分析, 要求满足以下分析需求。1. 根据关联规则(FP-tree)算法确定设计任务2. 确定与设计任务相关联的数据来源;3. 实现所选择的数据挖掘算法;4. 利用熟习的开发工具实现与数据库的连接以及数据挖掘算法的应用;5. 获取数据挖掘分析结果,并对结果进行分析与评价(关联规则方法则分析得到的 关联规则并进行解析);要求基本要求1. 按需求完成详细的设计;2. 按设计方案选择相关数据表以及各表的字段,表之间的关系;3. 有详细的数据准备方案;4. 完成相应的算法实现;5. 与数据库的连接;6. 能进行简单数据结果的应用分析。高级要

3、求可获取较多的数据信息、能设计开发一个通用性平台,并针对应用结果进行分析。工 作 计 划 及 进 度提前两周:分组、选题;第12周:明确需求分析、组内分工;第12周五:与指导老师讨论,确定需求、分工,并开始设计;第12周五第13周六:代码编写、算法设计、数据分析; 第14周一:完成设计说明书,答辩;第15周前:针对答辩意见修改设计说明书,打印、上交。指导教师签字陈治平谭义红胡赛2013年5月10日教研室审定意 见同意实施签字2013 年 5 月 10 日长沙学院课程设计鉴定表姓名胡娟学号2010032218专业信息与计算 科学班级10信二设计题目基于FP-tree的AdventureWorks

4、产品销售分 析指导教师陈志平指导教师意见:评定等级:教师签名:日期:答辩小组意见:评定等级:答辩小组长签名:日期:教研室意见:教研室主任签名:日期:系(部)意见:系主任签名:日期:说明课程设计成绩分“优秀”、“良好”、“中等”、“及格”、“不及格”五类;长沙学院课程设计鉴定表姓名于瑶学号2010032230专业信息与计算 科学班级10信二设计题目基于FP-tree的AdventureWorks产品销售分 析指导教师陈志平指导教师意见:评定等级:教师签名:日期:答辩小组意见:评定等级:答辩小组长签名:日期:教研室意见:教研室主任签名:日期:系(部)意见:系主任签名:日期:说明课程设计成绩分“优秀

5、”、“良好”、“中等”、“及格”、“不及格”五类;目录第一章 系统需求 1第二章 数据库分析 2第三章 数据准备 3第四章 Fp_tree 关联规则算法 . 5第五章 预测结果分析 6结论 10参考文献 11结束语 12第一章系统需求企业的产品销售受经济增长、居民收入等多种因素的影响和制约,决定了市场是一个动态的、变化的市场。面对瞬息万变的市场, 有许多问题需要企业的生产经营者去调查、分析、研究,比如:商品的销售业务收入和赢利的完成情况及存在的问题;如何策划才能打动消费者;潜在市场的分析和目标市场的判断;如何制定切实可行的经营策略和措施?怎样寻找和培育新的经济增长点?如何做到市场营销策略的创新

6、?如何为大客户提供更好的服务?销 售服务水平怎样?如何开发适应顾客需求的产品并控制、降低生产成本?等等。 这一系列问题与企业的生存和发展密不可分,要很好地解决这些问题,离不开企业的销售分析。在当今激烈的竞争和复杂的动态市场环境下,正确及时的决策是企业生存和发展的重要环节。各式业务系统如 ERP在企业中应用,企业的数据越来越多,如何把业务数据迅速转化成为对市场、对运营状况的认知,从而辅助企业决策,不断优化决策管理流程,提升对市 场变化的响应能力,已经成为销售部门迫切需要解决的问题。商品的销售问题也与消费者的消费习惯息息相关,研究消费者的消费习惯以及产品之间的关联规则能改善企业的销售模式,增加企业

7、的盈利收入, 为决策者提供一个比较可靠的可选方案。本分析采用的FP-tree算法是一种基于模式增长的频繁模式挖掘算法,避免了大量候选项集的产生,只需要两次扫描数据库。效率比 Apriori算法快一个数量级。第二章 数据库分析此次的分析数据来自于数据库Adven tureWorks中的表Sales . SalesOrderDetail,表的数据字典如下所示:用户销售 Sales . SalesOrderDetail 表属性名类型空值说明SalesOrderIDIntNot null订单流水号SalesOrderDetailIDIntNot null订单序列号CarrierTracki ngNum

8、berNvarchar ( 25)Null承运人号码OrderQtySmalli ntNot null订单数量ProductIDIntNot null产品号SpecialOfferlDIntNot null优惠ID号Uni tPriceMoneyNot null商品总价Un itPriceDiscou ntMoneyNot null折扣Lin eTotalNumericNot null消费总额rowguidUniq ueide ntifierNot null商品条形码ModifiedDateDatetimeNot null售出日期由于本次分析是要考虑消费者购买某两种商品之间的联系,需要挖掘出商

9、品之间的关联规则,则需要分析的数据只与数据表中的SalesOrderlD 和ProductID两个属性有关。则将Sales . SalesOrderDetail表中需要分析的数据抽取出来,作为一个独立的表Datas,表Datas的数据字典如下表所示:销售情况Datas表属性名类型空值说明SalesOrderIDIntNot null订单流水号ProductIDIntNot null产品号该表只包含SalesOrderID 和ProductID两个属性,表示某一个客户一次性购买的商品,一个用户若一次只购买一种商品,则不需要对数据进行处理,直接删除;一个用户若一次不止购买一种商品,则可以利用相应的

10、挖掘技术来发现数据之间的关联规则。第三章 数据准备根据对项目的分析以及需求分析,可以得出最后需要的表结构:SalesOrderID订单流水号ProductID产品号对于表的操作,得到最后需要的数据操作如下:1、 删除只有一条记录的订单流水号delete from Sales . SalesOrderDetail where SalesOrderID in( selectSalesOrderID from Sales. SalesOrderDetailgroupby SalesOrderIDhavingcount ( SalesOrderID)= 1)2、 将表换成横向排列的表,并将数据存在表D

11、atas 中selectSalesOrderID , ProductID =stuff( select ' '+rtrim ( ProductIDfromSales . SalesOrderDetailwhere t. SalesOrderID= SalesOrderIDorderby ProductID forxml path ( '' ),1, 1, '' )intoDatas from Sales . SalesOrderDetail tgroupby SalesOrderID- 将表化成横向表3、 将数据进行处理,去掉出现次数很少的数据s

12、elect ProductID ,count ( ProductID ) count_1 ,( count ( ProductID )* 1000 /( select count (*) a from dbo . data ) percents from dbo . data group by ProductIDorder by ProductID - 查看数据所占的百分比,插入表 datas 中4 、将数据从数据库中导出,并将数据改成字符型数据 字符与数据之间的对应关系由一张 map 给出。5、 对处理过的数据,编程实现 fp_tree ,并输出最后的频繁项目集/ 主函数int main()

13、string rpath;rpath = "tst1.txt"if(!(readFile(rpath.c_str()/ 将数据(已经存在 tst1.txt 中)读入到容器中cout<<" 文件打开错误 , 算法退出 "<<endl; return 0;orderbyTime(); createTree(); modeBase();/ 产品按次序排序并去掉小于支持数的产品/ 创建 fp_tree/ 产生条件模式基string wpath;wpath = "pinfan.txt"if(!(writeFile(wpa

14、th.c_str() / 将频繁项目集写入 pinfan.Txt 中cout<<" 文件写入错误 , 算法退出 "<<endl;return 0;Change(); / 将数字型数据转换成字符型数据 Rules () ;/ 将生成的频繁项目集进行关联规则的算法return 1;6 、产生的频繁模式将保存在名为: pinfan.Txt 的文件中, 而最终由字符型数据变换成数字 型数据的文件保存在 change.txt 中。7 、最终生成的强关联规则的数据将被保存在 rules.txt 中。第四章 Fp_tree 关联规则算法在本次分析中,主要采用Fp_

15、tree的关联规则方法,Fp_tree算法只进行2次数据库扫描。 它不使用候选集, 直接将符合最小支持度的数据压缩成一个频繁模式树, 最后通过这棵树来 生成关联规则。 Fp_tree 的算法主要包括:一:利用事物数据库中的数据构造Fp_tree:(1)第一次扫描数据库: 形成1-项频繁项表L (此时对源数据按照支持度降序 排列)。(2)创建Fp_tree:首先创建树的根结点,用root标记,然后再扫描数据库,对于每一个事物,创建一个分支。二:从 Fp_tree 中挖掘频繁模式(1)对于每个项(符合最小支持度的1-项频繁项),由Fp_tree中与后缀模式一起出现的前缀路线一起组成条件模式基,然后

16、生成条件Fp_tree,最后按照最小支持度生成频繁项目集。( 2) 对于每条 Fp_tree 的分支,重复( 1 )步骤,直到 Fp_tree 为空,算法结 束,生成频繁模式。对于生成的频繁项目集,进行关联规则的挖掘算法,输出最终符合最小置信度的 数据。关联规则算法主要包括:(1 )对于生成的频繁模式,生成与之相对应的频繁项,扫描数据库,计算每个频繁项的支持度。(2)对于每个频繁项生成的支持度,与最小置信度相比较,若大于最小 置信度,则保留频繁项,若小于等于最小置信度,则删除频繁项。最终生成的数据, 将会符合最小置信度的要求, 生成的频繁项是强关联规则的数 据。第五章预测结果分析数据经过由数据

17、库的多次处理,首先将会去掉SalesOrderlD下只有一条ProductID0.5%以下的数据的记录,但是数据量还是比较大,然后按照数据所占的百分比,将数据占总数 全部删除,不再进行处理,将处理完的数据导岀到一个名为tst1.txt的文件中对处理好的数据,放入编好的程序,数据经过处理之后, 将会输出最终需要的频繁项目 集合。对于数据处理最终的最小支持数,开始讲min_sup设为:100,产生的频繁项最后有11-项集,数据量太大,后来将min_sup设为:200,产生的频繁项有 7-项集,数据量依然很大,最终将min_sup设为:500,则产生的频繁项目集适合于最终需要的结果。将最小支持数设为

18、 100,输出的结果如下图 5.1 所示£:试三二学期 VpJreeDebugFPJ辱翩 hedabgqfrno edabg(if rnp edabjfqf rns edabgqFrpaedabjfqf rsp edabgqFspo edabgqnspo edabffqrnpu edabgqrnso edabgqrnspedabgrnspo edabqfnhpo edabqfrnpa edabqfrnso edagf hi/zut edafqf rnpa edaqfrnso edbsff hwzut edbqfrnpo115109104114106103104105114105101

19、1011071001051001031&4101106103频鑿11-顶集为:edabgfhuzut 103edabqfrnpo 103 press any key to continue回 題图5.1将最小支持数设为200时输出的结果如下图5.2所示: E:戏三二学期f p.tne eDebu gF P_T ree.exe *23S241237233226238频聲6-项集为: dabgfh eabfffh edabfh edabsrf edabgh edabgt edabffw edabgz dafFh edbfh edbffwtqnspo qrnpo qrnso qpnsp qr

20、spo rnspo50150250159?511204204200499500206201205频繁一 7-项集为:edahgfh 486pF匕00 Mny ke# to contiijHie图5.2将最小支持数设为 500,结果如下图5.3所示:' E:、大一二学期Fp_t reeDebugFP_T re e. exe'|ddgh 529 Idagfh 517 dbgfh 515eabfh 519eabF 616 eabgh 527 cagf h 516 ebgfh 516 edabf 612 edabf 716 edabh 527 edafh 516 edaf &1

21、1 edah 52E edbfh 515 edb9f 617 edbh 529 ledh 513 fe 町集K: Idahgfh 501 Lahcrfli 502 ledabFJi 5毗 ledabgf 597图5.3最终要将输出频繁项目集由字符型数据替还原成数字型数据,调用函数生名为 change 的文本文件,最后的部分结果如下所示:712,711,715,716, 543712,715,714,716, 531频繁 5- 项集为 :707,708,715,714,716, 517711,707,708,714,716, 518711,707,708,715,714, 614711,707,

22、708,715,716, 529711,707,715,714,716, 517711,708,715,714,716, 515712,707,708,714,716, 519712,707,708,715,714, 616712,707,708,715,716, 527712,707,715,714,716, 516712,708,715,714,716, 516712,711,707,708,714, 612712,711,707,708,715, 716712,711,707,708,716, 527712,711,707,714,716, 516712,711,707,715,714,

23、 611712,711,707,715,716, 525712,711,708,714,716, 515712,711,708,715,714, 617712,711,708,715,716, 529712,711,715,714,716, 513频繁 6- 项集为 :711,707,708,715,714,716, 501712,707,708,715,714,716, 502712,711,707,708,714,716, 501712,711,707,708,715,714, 597712,711,707,708,715,716, 511712,711,708,715,714,716,

24、500将生成的频繁项目集进行关联规则算法,将置信度设为60%,rules.txt 中。最终的部分结果如下所示:频繁 1-项集为 :707,3083cha nge(),并产最终的结果将保存在708,3007711,3090712,3382714,1218715,1635716,1076779,1094780,1040782,1252783,1177784,1059793,705794,712797,725801,723频繁 2-项集为 :707,708,792707,714,711707,715,836707,716,630708,714,717708,715,880708,716,625711,707,793711,708,848711,714,729711,715,905711,716,625712,707,955712,708,988712,711,1011712,714,741712,715,117

温馨提示

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

评论

0/150

提交评论