一. 数据挖掘
1. 数据挖掘定义
是一种透过数理模式来分析企业内储存的大量资料,以找出不同的客户或市场划分,分析出消费者喜好和行为的方法。
2.数据挖掘的的关联规则
数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之间存在某种规律性,就称为关联
关联规则挖掘过程主要包含两个阶段:第一阶段必须先从资料集合中找出所有的高频项目组(Frequent Itemsets),第二阶段再由这些高频项目组中产生关联规则(Association Rul
3关联规则的分类
1. 基于规则中处理的变量的类别,关联规则可以分为布尔型和数值型。
2. 基于规则中数据的抽象层次,可以分为单层关联规则和多层关联规则。
3. 基于规则中涉及到的数据的维数,关联规则可以分为单维的和的。
二. 数据挖掘中的Apriori算法
1、 Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于两阶段频集思想的递推算法。该关联规则在分类上属于单维、单层、布尔关联规则。在这里,所有支持度大于最小支持度的项集称为频繁项集,简称频集
2、 Apriori算法的基本思想是:首先找出所有的频集,这些项集出现的频繁性至少和预定义的最小支持度一样。然后由频集产生强关联规则,这些规则必须满足最小支持度和最小可信度。然后使用第1步找到的频集产生期望的规则,产生只包含集合的项的所有规则,其中每一条规则的右部只有一项,这里采用的是中规则的定义。一旦这些规则被生成,那么只有那些大于用户给定的最小可信度的规则才被留下来。为了生成所有频集,使用了递推的方法。
3、算法原理
Apriori算法主要分成两步:首先找出数据中所有的频繁项集,这些项集出现的频繁性要大于或等于最小支持度。然后由频繁项集产生强关联规则,这些规则必须满足最小支持度和最小置信度。算法的总体性能由第一步决定,第二步相对容易实现。
第一步主要是基于Apriori性质:频繁项集的所有非空子集都必须也是频繁的。因此这一步主要由连接和剪枝两个过程组成。连接:频繁项集Lk-1与自己连接产生候选k-项集的集合Ck。假定事务和项集都按字典次序排序。连接Lk-1Lk-1,Lk-1中的l1和l2项是可连接的,如果(l1[1]=l2[1] )∧(l1[2]=l2[2] )∧…∧(l1[k-2]=l2[k-2] )∧(l1[k-1]4. Apriori算法描述Apriori利用层次循环发现频繁项集,算法如下:
输入:交易数据库D,最小支持阈值min-sup
输出:D中的频繁项集L
然后利用 Apriori
性质删除那些子集为非频繁项集的候选项集,一旦产生所有候选,就要扫描数据库,对于
数据库中的每个交易利用subset 函数来帮助发现该交易记录的所有(已成为候选项集)的子集,由此累计每个候选项集的支持频度。最终满足最小支持频度的候选项集组成了频繁项集 L。然而,像这样产生候选集的开销极大,特别是频繁集很长或最小支持度非常小时。例如,当有104个频繁1-项集时,Apriori算法就会产生多于107个的候选2-项集。
5. Apriori算法的应用
经典的关联规则数据挖掘算法Apriori 算法广泛应用于各种领域,通过对数据的关联性进行了分析和挖掘,挖掘出的这些信息在决策制定过程中具有重要的参考价值。
Apriori算法广泛应用于商业中,应用于消费市场价格分析中,它能够很快的求出各种产品之间的价格关系和它们之间的影响。通过数据挖掘,市场商人可以瞄准目标客户,采用个人股票行市、最新信息、特殊的市场推广活动或其他一些特殊的信息手段,从而极大地减少广告预算和增加收入。百货商场、超市和一些老字型大小的零售店也在进行数据挖掘,以便猜测这些年来顾客的消费习惯等多种应用。
优点
优点:
l 提出了利用Apriori性质挖掘频繁项集产生关联规则的思想,对以后的关联规则算法有深远的影响。
l 提出的Apriori性质大幅压缩了候选项集的大小,提高了性能。
l 可用来提高冰山查询的效率。
基于apriori算法的改进后出现的FP-树频集算法
3.FP-树频集算法
针对Apriori算法的固有缺陷,J. Han等提出了不产生候选挖掘频繁项集的方法:FP-树频集算法。采用分而治之的策略,在经过第一遍扫描之后,把数据库中的频集压缩进一棵频繁模式树(FP-tree),同时依然保留其中的关联信息,随后再将FP-tree分化成一些条件库,每个库和一个长度为1的频集相关,然后再对这些条件库分别进行挖掘。当原始数据量很大的时候,也可以结合划分的方法,使得一个FP-tree可以放入主存中。实验表明,FP-growth对不同长度的规则都有很好的适应性,同时在效率上较之Apriori算法有巨大的提高。