欢迎来到天天文库
浏览记录
ID:5589626
大小:572.00 KB
页数:9页
时间:2017-12-19
《关联规则基本算法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、关联规则基本算法及其应用1.关联规则挖掘1.1关联规则提出背景1993年,Agrawal等人在首先提出关联规则概念,同时给出了相应的挖掘算法AIS,但是性能较差。1994年,他们建立了项目集格空间理论,并依据上述两个定理,提出了著名的Apriori算法,至今Apriori仍然作为关联规则挖掘的经典算法被广泛讨论,以后诸多的研究人员对关联规则的挖掘问题进行了大量的研究。关联规则挖掘在数据挖掘中是一个重要的课题,最近几年已被业界所广泛研究。关联规则最初提出的动机是针对购物篮分析(MarketBasketAnalysis)问题提出的。假设分店经理想更多的了解顾客的
2、购物习惯(如下图)。特别是,想知道哪些商品顾客可能会在一次购物时同时购买?为回答该问题,可以对商店的顾客事物零售数量进行购物篮分析。该过程通过发现顾客放入“购物篮”中的不同商品之间的关联,分析顾客的购物习惯。这种关联的发现可以帮助零售商了解哪些商品频繁的被顾客同时购买,从而帮助他们开发更好的营销策略。1.2关联规则的基本概念关联规则定义为:假设是项的集合,给定一个交易数据库,其中每个事务(Transaction)t是I的非空子集,即,每一个交易都与一个唯一的标识符TID(TransactionID)对应。关联规则是形如的蕴涵式,其中且,和分别称为关联规则的先
3、导(antecedent或left-hand-side,LHS)和后继(consequent或right-hand-side,RHS)。关联规则在D中的支持度(support)是D中事务包含的百分比,即概率;置信度(confidence)是包含X的事务中同时包含Y的百分比,即条件概率。如果满足最小支持度阈值和最小置信度阈值,则称关联规则是有趣的。这些阈值由用户或者专家设定。用一个简单的例子说明。上表是顾客购买记录的数据库D,包含6个事务。项集I={网球拍,网球,运动鞋,羽毛球}。考虑关联规则:网球拍网球,事务1,2,3,4,6包含网球拍,事务1,2,5,6同
4、时包含网球拍和网球,支持度,置信度。若给定最小支持度α=0.5,最小置信度β=0.8,关联规则网球拍网球是有趣的,认为购买网球拍和购买网球之间存在关联。1.3关联规则的分类 按照不同标准,关联规则可以进行分类如下:(1)基于规则中处理的变量的类别,关联规则可以分为布尔型和数值型。 布尔型关联规则处理的值都是离散的、种类化的,它显示了这些变量之间的关系;而数值型关联规则可以和多维关联或多层关联规则结合起来,对数值型字段进行处理,将其进行动态的分割,或者直接对原始的数据进行处理,当然数值型关联规则中也可以包含种类变量。例如:性别=“女”=>职业=“秘书”,是布
5、尔型关联规则;性别=“女”=>avg(收入)=2300,涉及的收入是数值类型,所以是一个数值型关联规则。(2)基于规则中数据的抽象层次,可以分为单层关联规则和多层关联规则。 在单层的关联规则中,所有的变量都没有考虑到现实的数据是具有多个不同的层次的;而在多层的关联规则中,对数据的多层性已经进行了充分的考虑。例如:IBM台式机=>Sony打印机,是一个细节数据上的单层关联规则;台式机=>Sony打印机,是一个较高层次和细节层次之间的多层关联规则。(3)基于规则中涉及到的数据的维数,关联规则可以分为单维的和多维的。在单维的关联规则中,我们只涉及到数据的一个维,
6、如用户购买的物品;而在多维的关联规则中,要处理的数据将会涉及多个维。换成另一句话,单维关联规则是处理单个属性中的一些关系;多维关联规则是处理各个属性之间的某些关系。例如:啤酒=>尿布,这条规则只涉及到用户的购买的物品;性别=“女”=>职业=“秘书”,这条规则就涉及到两个字段的信息,是两个维上的一条关联规则。2.关联规则挖掘的相关算法关联规则最为经典的算法是Apriori算法。由于它本身有许多固有缺陷,后来的研究者又纷纷提出了各种改进算法或者不同的算法,频繁树(FP-Tree)算法应用也十分广泛。本文将就这两种典型算法进行研究。2.1Apriori算法2.1.
7、1预备知识关联规则的挖掘分为两步:(1)找出所有频繁项集;(2)由频繁项集产生强关联规则。而其总体性能由第一步决定。在搜索频繁项集的时候,最简单、基本的算法就是Apriori算法。它是R.Agrawal和R.Srikant于1994年提出的为布尔关联规则挖掘频繁项集的原创性算法。算法的名字基于这样一个事实:算法使用频繁项集性质的先验知识。Apriori使用一种称作逐层搜索的迭代方法,k项集用于探索(k+1)项集。首先,通过扫描数据库,累积每个项的计数,并收集满足最小支持度的项,找出频繁1项集的集合。该集合记作L1。然后,L1用于找频繁2项集的集合L2,L2用
8、于找L3,如此下去,直到不能再找到频繁k项集。找每个
此文档下载收益归作者所有