《关联规则数据挖掘.pdf》由会员分享,可在线阅读,更多相关《关联规则数据挖掘.pdf(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、_关联规则数据挖掘关联规则数据挖掘学习报告学习报告精品资料_精品资料_目录引言2案例2关联规则(一)关联规则定义(二)相关概念(三)关联规则分类数据(一)小型数据(二)大型数据应用软件(一)WEKA(二)IBM SPSS Modeler数据挖掘总结精品资料3671227_一、引言数据库与互联网技术在日益发展壮大,人们每天可以获得的信息量呈指数级增长。如何从这浩如瀚海的数据中找出我们需要的数据显得尤为重要。数据挖掘又为资料探勘、数据采矿。它是数据库知识发现中的一个步骤。数据挖掘一般是指从大量的数据中通过算法搜索隐藏于其中信息的过程。数据挖掘通常与计算机科学有关,并通过统计、在线分析处理、情报检索
2、、机器学习、专家系统(依靠过去的经验法则)和模式识别等诸多方法来实现上述目标。数据挖掘大致分为以下几类:分类(Classification)、估计(Estimation)、预测(Prediction)、相关性分组或关联规则(Affinity grouping or associationrules)、聚类(Clustering)、复杂数据类型挖掘(Text,Web,图形图像,视频,音频等)。二、案例尿布与啤酒的故事。在一家超市里,有一个有趣的现象:尿布和啤酒赫然摆在一起出售。但是这个奇怪的举措却使尿布和啤酒的销量双双增加了。这不是一个笑话,而是发生在美国沃尔玛连锁店超市的真实案例,并一直为商家
3、所津津乐道。沃尔玛拥有世界精品资料_上最大的数据仓库系统,为了能够准确了解顾客在其门店的购买习惯,沃尔玛对其顾客的购物行为进行购物篮分析,想知道顾客经常一起购买的商品有哪些。沃尔玛数据仓库里集中了其各门店的详细原始交易数据。在这些原始交易数据的基础上,沃尔玛利用数据挖掘方法对这些数据进行分析和挖掘。一个意外的发现是:跟尿布一起购买最多的商品竟是啤酒!经过大量实际调查和分析,揭示了一个隐藏在尿布与啤酒背后的美国人的一种行为模式:在美国,一些年轻的父亲下班后经常要到超市去买婴儿尿布,而他们中有 30%40%的人同时也为自己买一些啤酒。产生这一现象的原因是:美国的太太们常叮嘱她们的丈夫下班后为小孩买
4、尿布,而丈夫们在买尿布后又随手带回了他们喜欢的啤酒。按常规思维,尿布与啤酒风马牛不相及,若不是借助数据挖掘技术对大量交易数据进行挖掘分析,沃尔玛是不可能发现数据内在这一有价值的规律的。在这个案例中使用了数据挖掘中的关联规则分析。关联分析是发现交易数据库中不同项之间的联系。毫无疑问,关联分析中发现的规则为超市带来了更多的收益。如果我们能在生活中对关联分析进行应用,一定可以解决更多的问题。数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之间存在某种规律性,就称为关联。关联可分为简单关联、时序关联、因果关联。关联分析的目的是找出数据库中隐藏的关联网。有时并不知道数据库中数据的
5、关联函数,即使知道也是不确定的,因此关联分析生成的规则带有可信度。关联规则挖掘发现大量数据中项集之间有趣的关联或相关联系。Agrawal 等于1993 年首先提出了挖掘顾客交易数据库中项集间的关联规则问题,以后诸多的研究人员对关联规则的挖掘问题进行了大量的研究。他们的工作包括对原有的算法进行优化,如引入随机采样、并行的思想等,以提高算法挖掘规则的效率;对精品资料_关联规则的应用进行推广。关联规则挖掘在数据挖掘中是一个重要的课题,最近几年已被业界所广泛研究。三、关联规则(一)关联规则定义关联分析是一种简单、实用的分析技术,就是发现存在于大量数据集中的关联性或相关性,从而描述了一个事物中某些属性同
6、时出现的规律和模式。关联分析是从大量数据中发现项集之间有趣的关联和相关联系。关联分析的一个典型例子是购物篮分析。该过程通过发现顾客放人其购物篮中的不同商品之间的联系,分析顾客的购买习惯。通过了解哪些商品频繁地被顾客同时购买,这种关联的发现可以帮助零售商制定营销策略。其他的应用还包括价目表设计、商品促销、商品的排放和基于购买模式的顾客划分。(二)相关概念1.关联规则关联规则是指数据之间的简单的使用规则,是指数据之间的相互依赖关系。关联规则形如:XY;其中XI,YI,并且XY=。X 为先决条件,Y 为结果;关联规则反映了项目集 X 出现的同时项目集 Y 也会跟着出现。2.支持度(Support)设
7、 X 属于数据项目集,为事务数据库中包含 X 的记录条数,为事务数据库中记录的总个数,那么项目集 X 的支持度=/支持度表示项目集在事物集中出现的频率的是多少。精品资料_3.置信度(Confidence)有关联规则 XY,其中 XI,YI,并且 XY=,那么 XY 的置信度为:Conf(XY)=*100%=P(Y|X)。置信度是反映在事物 X 中出现事物 Y 的条件概率。4.强关联规则如果某条规则同时满足最小支持度和最小置信度则称为强关联规则。5.最小支持度、大项集和最小置信度小置信度前者描述了关联规则中数据项集的最低重要程度,记为 minsupminconf。支持度大于最小支持度的数据项集称
8、作大项集(Large Itemset)弱项集(Small Iterns)。同时满足最小支持度、最小置信度的关联规则称为强关联规则。(三)关联规则分类1.基于规则中处理的变量的类别,关联规则可以分为布尔型和数值型。布尔型关联规则处理的值都是离散的、种类化的,它显示了这些变量之间的关系;而数值型关联规则可以和多维关联或多层关联规则结合起来,对数值型字段进行处理,将其进行动态的分割,或者直接对原始的数据进行处理,当然数值型关联规则中也可以包含种类变量。2.基于规则中数据的抽象层次,可以分为单层关联规则和多层关联规则。在单层的关联规则中,所有的变量都没有考虑到现实的数据是具有多个不同的层次的;而在多层
9、的关联规则中,对数据的多层性已经进行了充分的考虑。3.基于规则中涉及到的数据的维数,关联规则可以分为单维的和多维的。精品资料_单维关联规则是处理单个属性中的一些关系;多维关联规则是处理各个属性之间的某些关系。(四)算法1.Apriori 算法1)Apriori 算法是一种使用频繁项集的先验知识从而生成关联规则的一种算法也是最有影响的关联规则挖掘算法。2)定义:设 C(k)表示候选 k-项集 L(k)表示 C(k)中出现频率大于或等于最小支持度阈值与事务总数的乘积的 k-项集,即 k-频繁项集或者是 k-大项集。3)Apriori 算法具有以下性质:任何非频繁的(k-1)-项集都不可能是频繁 k
10、-(k-1)-项集的事务占事务总数的百分比不大于最小支持度阈值。那么含有该(k-1)-项集与另外一项构成的 k 项集的事务占事务总数的百分比就更不可能大于或等于最小支持度阈值了。如果用概念来解释的话,含有 k-项集的事务构成的概念的内涵比含有(k-1)-项集事务所构成的概念的。因此,根据这个性质可以在生成 k-项集之前先将(k-1)-项集中的非频繁项集删除通过删除候(k-1)-项集中的非频繁项集得到(k-1)-频繁项集。4)Apriori 算法的步骤步骤如下设定最小支持度 s 和最小置信度 c。Apriori 算法使用候选项集。首先产生出候选的项的集合,即候选项集若候选项集的支持度大于或等于最
11、小支持度则该候选项集为频繁项集。精品资料_在 Apriori 算法的过程中,首先从数据库读入所有的事务,每个项都被看作候选 1-项集得出各项的支持度再使用频繁 1-项集集合来产生候选 2-项集集合。因为先验原理保证所有非频繁的 1-项集的超集都是非频繁的。再扫描数据库。得出候选 2-项集集合。再找出频繁 2-项集。并利用这些频繁 2-项集集合来产生候选 3-项集。重复扫描数据库,与最小支持度比较;产生更高层次的频繁项集再从该集合里产生下一级候选项集直到不再产生新的候选项集为止。2.FP-树频集算法1)定义:针对 Apriori 算法的固有缺陷,J.Han 等提出了不产生候选挖掘频繁项集的方法:
12、FP-树频集算法。采用分而治之的策略,在经过第一遍扫描之后,把数据库中的频集压缩进一棵频繁模式树(FP-tree),同时依然保留其中的关联信息,随后再将 FP-tree 分化成一些条件库,每个库和一个长度为 1 的频集相关,然后再对这些条件库分别进行挖掘。当原始数据量很大的时候,也可以结合划分的方法,使得一个 FP-tree 可以放入主存中。实验表明,FP-growth 对不同长度的规则都有很好的适应性,同时在效率上较之 Apriori 算法有巨大的提高。2)FP-树频集算法的步骤步骤如下遍历一次数据库,到处频繁项集(1 项集)的集合和支持度计数(频率),并且以降序排序,结果集或表记为 L。构
13、造 FP-tree。根据第二步得到的 FP-tree,为 1 项频繁项集中的每一项构造条件FP-tree。得到频繁模式(频繁项集)。精品资料_四、数据(一)小型数据这是我们得到的最原始的数据,是国外某超市的购物篮数据,共有约一千条。文件格式为 txt 格式,每一行代表一个顾客购物篮中的商品。精品资料_(二)大型数据第二个大型数据也是国外某公司的超市购物篮数据,共有 88162 条数据。数据为 txt 格式。第一行是对每列数据的一个编号,从第二列开始是每个顾客超精品资料_市购物篮中的东西。每个数字代表一个商品。因为数据过大,所以整个数据是数据集的形式。五应用软件(一)WEKA1.WEKA 简介W
14、EKA 的全名是怀卡托智能分析环境(Waikato Environment for KnowledgeAnalysis),是一款免费的,非商业化的,基于JAVA 环境下开源的机器学习以及数据挖掘软件。它和它的源代码可在其官方网站下载。WEKA 作为一个公开的数据挖掘工作平台,集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理,分类,回归、聚类、关联规则以及在新的交互式界面上的可视化。2.WEKA 存储数据的格式是 ARFF(Attribute-Relation File Format)文件,这是一种 ASCII 文本文件。二维表格存储在如下的 ARFF 文件中。识别 ARFF 文
15、件的重要依据是分行,因此不能在这种文件里随意的断行。空行(或全是空格的行)将被忽略。精品资料_WEKA 的关联规则分析功能仅能用来作示范,不适合用来挖掘大型数据集。3.数据处理由于我们的源数据为 TXT 格式,无法应用于WEKA 软件,所以我们需要将它转换为 ARFF 格式。我们查阅有关资料以及有关网站,找到了一个用 Python转换格式的方法。TXT 转为 ARFF 格式def txt2arff(filename,value):with open(./generatedarff.arff,w)as fp:fp.write(relation ExceptionRelationattribute
16、 ID stringattribute Thrown numericattribute SetLogicFlag numericattribute Return numericattribute LOC numericattribute NumMethod numericattribute EmptyBlock numericattribute RecoverFlag numericattribute OtherOperation numericattribute class-att True,Falsedata精品资料_)with open(filename)as f:contents=f.
17、readlines()for content in contents:lines=content.split(t)lines=line.strip()for line in linesif lines9=1:lines9=Truelines.append(+str(value)+)else:lines9=Falselines.append(1)array=,.join(lines)fp.write(%sn%array)处理结果:小型数据精品资料_大型数据精品资料_(二)IBM SPSS Modeler1.Clementine为了解决各种商务问题,企业需要以不同的方式来处理各种类型迥异的数据,相
18、异的任务类型和数据类型就要求有不同的分析技术。Clementine 为您提供最出色、最广泛的数据挖掘技术,确保您可用最恰当的分析技术来处理相应的问题,从而得到最优的结果以应对随时出现的商业问题。即便改进业务的机会被庞杂的数据表格所掩盖,Clementine 也能最大限度地执行标准的数据挖掘流程,为您找到解决商业问题的最佳答案。2.Modeler其中看到其实 Modeler 也是 SPSS 公司收购回的,前身即是 Clementine,09 年整个 SPSS 被 IBM 收购后,就改名为 IBM SPSS Modeler 了,今年 Modeler 已经发布 18 版本,更新要比以前多了不少,多了
19、非常多的扩展功能(例如天气数据获取等等)Modeler 是一款数据挖掘软件,建模的原理主要偏向于数学算法,比如各种聚类算法,各种决策树算法,神经网络算法,贝叶斯算法等等。目的是通过对数据的整理,建模,挖掘出相关的结果,知道管理实际。主要应用于数据量大的分析,或者连接至数据库分析。Modeler 界面除了任何软件都有的菜单栏、工具栏、状态栏之外,主要由数据流构建区数据流、结果和模型管理区数据挖掘项目管理区节点区四个部分精品资料_构成。IBM SPSS Modeler 是客户端/服务器端架构的产品。客户既可以在单机版上运行 IBM SPSS Modeler,也可以连接到 IBM SPSS Mode
20、ler Server 运行数据流,从而充分利用服务器的高性能。IBM SPSS Modeler 是一个数据挖掘软件,其功能涵盖了整个数据挖掘流程,它主要提供三类重要功能来支持整个数据挖掘过程:数据整理、探索性数据分析、建立模型模型检验模型应用。3.数据处理SPSS Modeler 需要数据格式为 csv。在刚刚介绍的 WEKA 软件中可以将 txt 格式的数据另存为 csv 格式的数据。精品资料_六数据挖掘(一)WEKA1.Apriori 算法小数据精品资料_1)默认数值car 如果设为真,则会挖掘类关联规则而不是全局关联规则。classindex 类属性索引。如果设置为-1,最后的属性被当做
21、类属性。delta 以 0.05 为迭代递减单位。不断减小支持度直至达到最小支持度或产生了满足数量要求的规则。lowerBoundMinSupport 最小支持度下界为 0.5。精品资料_metricType 度量类型。设置对规则进行排序的度量依据。可以是:置信度(类关联规则只能用置信度挖掘),提升度(lift),杠杆率(leverage),确信度(conviction)。在 Weka 中设置了几个类似置信度(confidence)的度量来衡量规则的关联程度,它们分别是:a)Lift:P(A,B)/(P(A)P(B)Lift=1 时表示 A 和 B 独立。这个数越大(1),越表明 A 和 B
22、存在于一个购物篮中不是偶然现象,有较强的关联度.b)Leverage:P(A,B)-P(A)P(B)Leverage=0 时 A 和 B 独立,Leverage 越大 A 和 B 的关系越密切c)Conviction:P(A)P(!B)/P(A,!B)(!B 表示 B 没有发生)Conviction 也是用来衡量 A 和 B 的独立性。从它和 lift 的关系(对 B 取反,代入 Lift 公式后求倒数)可以看出,这个值越大,A、B 越关联。minMtric 度量的最小值 0.9。numRules 要发现的规则数为 10。outputItemSets 如果设置为真,会在结果中输出项集。remo
23、veAllMissingCols 移除全部为缺省值的列。significanceLevel 重要程度-0.1。重要性测试(仅用于置信度)。upperBoundMinSupport 最小支持度上界。从 1.0 开始迭代减小最小支持度。verbose 如果设置为真,则算法会以冗余模式运行。精品资料_2)结果解释scheme-所选的关联规则挖掘方案:Apriori 算法算法的参数设置:-I-N 10-T 0-C 0.9-D 0.05-U 1.0-M 0.5-S-1.0-c-1;各参数依次表示:I-输出项集,若设为 false 则该值缺省;N 10-规则数为 10;T 0 度量单位选为置信度,(T1-
24、提升度,T2 杠杆率,T3 确信度);C 0.9 度量的最小值为 0.9;D 0.05-递减迭代值为 0.05;U 1.0-最小支持度上界为 1.0;精品资料_M 0.5-最小支持度下届设为 0.5;S-1.0-重要程度为-1.0;c-1-类索引为-1 输出项集设为真(由于 car,removeAllMissingCols,verbose 都保持为默认值 False,因此在结果的参数设置为缺省,若设为 True,则会在结果的参数设置信息中分别表示为 A,R,V)Minimum support:0.5(470 instances)/最小支持度 0.5,即最少需要 470 个实例Minimum m
25、etric:0.9/最小度量:0.9Number of cycles performed:10/进行了 10 轮搜索Generated sets of large itemsets:/生成的频繁项集Size of set of large itemsets L(1):11/频繁 1 项集:11 个精品资料_剩余结果3)修改数值delta 以 0.1 为迭代递减单位。不断减小支持度直至达到最小支持度或产生了满足数量要求的规则。结果如下:精品资料_4)结果解释scheme-所选的关联规则挖掘方案:Apriori 算法精品资料_算法的参数设置:-I-N 10-T 0-C 0.9-D 0.1-U 1.
26、0-M 0.5-S-1.0-c-1;各参数依次表示:I-输出项集,若设为 false 则该值缺省;N 10-规则数为 10;T 0 度量单位选为置信度,(T1-提升度,T2 杠杆率,T3 确信度);C 0.9 度量的最小值为 0.9;D 0.1-递减迭代值为 0.1;U 1.0-最小支持度上界为 1.0;M 0.5-最小支持度下届设为 0.5;S-1.0-重要程度为-1.0;c-1-类索引为-1 输出项集设为真(由于 car,removeAllMissingCols,verbose 都保持为默认值 False,因此在结果的参数设置为缺省,若设为 True,则会在结果的参数设置信息中分别表示为
27、A,R,V)Minimum support:0.5(470 instances)/最小支持度 0.5,即最少需要 470 个实例Minimum metric:1.1/最小度量:1.1Number of cycles performed:3/进行了 3 轮搜索Generated sets of large itemsets:/生成的频繁项集精品资料_Size of set of large itemsets L(1):11/频繁 1 项集:11 个Size of set of large itemsets L(2):39/频繁 1 项集:39 个Size of set of large item
28、sets L(3):4/频繁 1 项集:4 个2.FP-Growth 算法大数据1)默认数值精品资料_delta 以 0.05 为迭代递减单位。不断减小支持度直至达到最小支持度或产生了满足数量要求的规则。lowerBoundMinSupport 最小支持度下界为 0.5。metricType 度量类型。设置对规则进行排序的度量依据。可以是:置信度(类关联规则只能用置信度挖掘),提升度(lift),杠杆率(leverage),确信度(conviction)。在 Weka 中设置了几个类似置信度(confidence)的度量来衡量规则的关联程度,它们分别是:a)Lift:P(A,B)/(P(A)P
29、(B)Lift=1 时表示 A 和 B 独立。这个数越大(1),越表明 A 和 B 存在于一个购物篮中不是偶然现象,有较强的关联度.b)Leverage:P(A,B)-P(A)P(B)Leverage=0 时 A 和 B 独立,Leverage 越大 A 和 B 的关系越密切c)Conviction:P(A)P(!B)/P(A,!B)(!B 表示 B 没有发生)Conviction 也是用来衡量 A 和 B 的独立性。从它和 lift 的关系(对 B 取反,代入 Lift 公式后求倒数)可以看出,这个值越大,A、B 越关联。minMtric 度量的最小值 0.9。numRules 要发现的规则
30、数为 10。outputItemSets 如果设置为真,会在结果中输出项集。removeAllMissingCols 移除全部为缺省值的列。upperBoundMinSupport 最小支持度上界。从 1.0 开始迭代减小最小支持度。精品资料_2)结果解释使用默认设置数值没有发现规则。3)修改数值精品资料_修改 lowerBoundMinSupport 最小支持度下界为 0.2。精品资料_4)结果解释仅发现两条规则。I48 与 I39 有关联规则conf:(0.69)lev:(0.06)cosv:(1.38)5)修改数值修改 lowerBoundMinSupport 最小支持度下界为 0.1。
31、精品资料_6)结果解释发现 8 条规则7)修改数值修改 lowerBoundMinSupport 最小支持度下界为 0.25。精品资料_8)结果解释发现如下(二)IBM SPSS Modeler大数据1.操作步骤Apriori 算法精品资料_精品资料_读取值然后将测量全部修改为标记,角色全部改为任意。最小置信度为 50%精品资料_结果分析:I48 与 I39 有关联规则 I41 与 I39 有关联规则I39 与 I38 有关联规则 I48 与 I41 有关联规则I42 与 I39 有关联规则 I48 与 I32 有关联规则I48 与 I38 有关联规则最小置信度为 60%精品资料_I48 与
32、I39 有关联规则 I41 与 I39 有关联规则I39 与 I38 有关联规则 I48 与 I41 有关联规则七总结数据挖掘可以通过不同的工具来进行分析。通过使用 WEKA 和 IBM SPSSModeler 发现两个软件适用的情况有所不同。WEKA 的关联规则 Apriori 分析仅能用来作示范,不适合用来挖掘大型数据集。但是 FPGrowth 算法可以有效地处理大数据,修改不同的数值得出不同的结果。而且在显示的结果中看到置信度等数值结果。IBM SPSS Modeler 需要修改数据的 TYPE,如读取值和输入输出,选择各种不同的模型,使输出的结果更加有效的解决实际问题。但是在操作的过程中,我们发现 IBM SPSS Modeler 建模运行的时候很慢,需要等待很长时间才能完成,而且需要修改的数值是分为不同的选项卡,一旦选定生成无法更改,过程不可逆,所以在修改数值查看不同结果时十分不方便。而 WEKA 可以反复查看不同的结果。精品资料_精品资料_Welcome ToWelcome ToDownload!Download!欢迎您的下载,资料仅供参考!精品资料