① lIG算法解决了apriori算法的什么问题
关联分析是一种在大规模数据集中寻找有趣关系的任务。Apriori是解决这一问题的基本算法。这个算法也是数据挖掘的入门算法。
Apriori算法的功能是寻找所有支持度不小于minsup的项集。项集的支持度是指包含该项集的事务所占所有事务的比例。
频繁项集就是指满足给定的最小支持度的项集。Apriori的关键在于它使用了一种分层的完备搜索算法。
② apriori算法是什么
经典的关联规则挖掘算法包括Apriori算法和FP-growth算法。
apriori算法多次扫描交易数据库,每次利用候选频繁集产生频繁集;而FP-growth则利用树形结构,无需产生候选频繁集而是直接得到频繁集,大大减少扫描交易数据库的次数,从而提高了算法的效率,但是apriori的算法扩展性较好,可以用于并行计算等领域。
基本算法:
Apriori algorithm是关联规则里一项基本算法
Apriori算法将发现关联规则的过程分:
第一通过迭代,检索出事务数据库1中的所有频繁项集,即支持度不低于用户设定的阈值的项集;
第二利用频繁项集构造出满足用户最小信任度的规则。其中,挖掘或识别出所有频繁项集是该算法的核心,占整个计算量的大部分。
③ 关于数据挖掘中的apriori算法,帮忙推出关联规则 事务数为 5 支持度为0.6,置信度为0.6
abc的支持数P1=3,acd的支持数P2=3,bcd的支持数P3=3,关联规则的输出就是在由频繁项集的项组成的关联规则中,找出置信度大于等于最小置信度阈值的关联规则。因为由频繁项集的项组成的关联规则的支持度大于等于最小支持阈值,所以规则产生过程就是在由频繁项集的项组成的关联规则中,找出置信度大于等于最小置信度阈值的强关联规则,基本步骤如下:
1) 对于每个频繁项集L,产生L的所有非空真子集。
2) 对于L的每个非空真子集 ,如果L的支持计数除以 的支持计数大于等于最小置信度阈值min_conf,则输出强关联规则 =>(L- )。
例如:abc的非空真子集有a,b,c,ab,ac,bc。分别算出他们的支持数,再除以abc的支持数,若结果大于0.6则可输出强关联规则。Pa/P1=4/3>0.6,则可以输出关联规则:a=>bc;同理可输出强关联规则:b=>ac,c=>ab;
同理,对于acd,bcd采用同样地方法。
④ 模式挖掘(一):频繁项集挖掘算法Apriori和FP Tree
Apriori是最常用的频繁项集挖掘算法,其计算逻辑简单易于直观理解。在实际应用中举例,其易于从大量订单数据中获取频繁出现的组合项集,以便于输出计算单元之间的关联度,从而给组套销售、上架摆放等提供建议。下面介绍下工作中总结的知识,和需要避开的问题。
以订单数据为例。在大量的订单中,如何评价某一商品组合对的出现频繁?其组合出现的次数多于其它组合吗。若订单覆盖的商品品类丰富,那么需求量不高的品类的组合便会被淹没在快消品的组合里。所以在Apriori中有从三个不同的角度评价频繁项集,描述元素关联关系的指标:支持度、置信度、提升度。
在Apriori中有三个维度的频繁项集的指标: 支持度 、 置信度 、 提升度 。下面以二元的组合举例说明。
支持度:
置信度:
提升度:
⑤ SPSS modeler关联规则apriori里支持度和置信度的值设置为多少比较好
置信度、支持度、提升度是评价关联规则的三个重要指标。
样本100,条件A=》结果B,A:60,B40,同时发生A和B:30
则:
条件支持度=P(A)=条件A60/样本100=0.6
结果支持度=P(B)=结果B40/样本100=0.4(在sas中称为预期置信度)
规则支持度=P(A&B)=30/100=0.3
规则置信度=P(B|A)=P(A&B)/P(A)=30/60=0.5,即同时发生的记录数除以样本数,
提升度=P(B|A)/P(B)=0.5/0.4=1.25
,注意不要混淆了条件支持度和规则支持度,网文好多只说支持度,实际上有的指的条件支持度、有的值规则支持度,我今天搞了一早上才恍然大悟,效率低啊,自我鄙视一下。
在spss的apriori的运行结果中还有部署能力的概念,观察了一下,发现:部署能力=条件支持度-规则支持度,就是说还有多少人有发展空间,比如有10人,符合条件的有7人,同时如何条件和结果的有4人,那部署能力就是7-4=3人了。
二、算法
关联分析基本就是Apriori算法,没用过其他的。
apriori算法的具体实现就不说,暂时我也说不清楚,我只追求会用,不求甚解,只知道大概步骤就是:1、根据设置的条件支持度找出频繁项集;2、分析找出来的这些频繁项集,得出规则;3、找出大于或等于给定置信度的规则。
一般各个dm软件跑apriori算法的时候都需要设置:最小条件支持度,最小规则置信度,有的还需要设置最大前项数,spss的modeler就需要设置这三个。
⑥ apriori算法
Apriori算法是第一个关联规则挖掘算法,也是最经典的算法。它利用逐层搜索的迭代方法找出数据库中项集的关系,以形成规则,其过程由连接(类矩阵运算)与剪枝(去掉那些没必要的中间结果)组成。
⑦ 关联规则算法(The Apriori algorithm)
关联规则的目的在于在一个数据集中找出项之间的关系,也称之为购物篮分析 (market basket analysis)。例如,购买鞋的顾客,有10%的可能也会买袜子,60%的买面包的顾客,也会买牛奶。这其中最有名的例子就是"尿布和啤酒"的故事了。
本篇的Apriori算法主要是基于频繁集的关联分析。其主要目的就是为了寻找强关联规则。
要理解频繁集、强关联规则,要先借助下面的一个情境,来介绍几个重要概念。
下表是一些购买记录:
将购买记录整理,可得到下表,横栏和纵栏的数字表示同时购买这两种商品的交易条数。如购买有Orange的交易数为4,而同时购买Orange和Coke的交易数为2。
置信度,表示这条规则有多大程度上值得可信。
设条件的项的集合为A,结果的集合为B。置信度计算在A中,同时也含有B的概率。即Confidence(A->B)=P(B|A)。例 如计算"如果Orange则Coke"的置信度。由于在含有Orange的4条交易中,仅有2条交易含有Coke。其置信度为0.5。
支持度,计算在所有的交易集中,既有A又有B的概率。
例如在5条记录中,既有Orange又有Coke的记录有2条。则此条规则的支持度为2/5=0.4。现在这条规则可表述为,如果一个顾客购买了Orange,则有50%的可能购买Coke。而这样的情况(即买了Orange会再买Coke)会有40%的可能发生。
支持度大于预先定好的最小支持度的项集。
关联规则:令项集I={i1,i2,...in},且有一个数据集合D,它其中的每一条记录T,都是I的子集。那么关联规则是形如A->B的表达式,A、B均为I的子集,且A与B的交集为空。这条关联规则的支持度:support = P(A并B)。这条关联规则的置信度:confidence = support(A并B)/suport(A)。
强关联规则:如果存在一条关联规则,它的支持度和置信度都大于预先定义好的最小支持度与置信度,我们就称它为强关联规则。
下面用一个例子说明算法的过程:
项目集合 I={1,2,3,4,5};
事务集 T:
设定最小支持度(minsup)=3/7,最小置信度(misconf)=5/7。
假设:n-频繁项目集为包含n个元素的项目集,例如1-频繁项目集为包含1个元素的项目集
则这里,1-频繁项目集有:{1},{2},{3},{4},{5}
生成2-频繁项目集的过程如下:
首先列出所有可能的2-项目集,如下:
{1,2},{1,3},{1,4},{1,5}
{2,3},{2,4},{2,5}
{3,4},{3,5}
{4,5}
计算它们的支持度,发现只有{1,2},{1,3},{1,4},{2,3},{2,4},{2,5}的支持度 满足要求,因此求得2-频繁项目集:
{1,2},{1,3},{1,4},{2,3},{2,4}
生成3-频繁项目集:
对于现有的2-频繁项目集,两两取并集,并确保第三个二元组也在2-频繁项目集内,把得到的所有3-项目集分别计算支持度,剔除不满足最小支持度的项目集;
例如,
{1,2},{1,3}的并集得到{1,2,3};
{1,2},{1,4}的并集得到{1,2,4};
{1,3},{1,4}的并集得到{1,3,4};
{2,3},{2,4}的并集得到{2,3,4};
但是由于{1,3,4}的子集{3,4}不在2-频繁项目集中,所以需要把{1,3,4}剔除掉。{2,3,4} 同理剔除。
然后再来计算{1,2,3}和{1,2,4}的支持度,发现{1,2,3}的支持度为3/7 ,{1,2,4}的支持度为2/7,所以需要把{1,2,4}剔除。因此得到3-频繁项目集:{1,2,3}。
重复上面步骤继续寻找n-频繁项目集,直到不能发现更大的频繁项目集。所以,到此,频繁项目集生成过程结束。
这里只说明3-频繁项目集生成关联规则的过程,即以集合{1,2,3}为例:
回顾事物集,先生成1-后件的关联规则:
(1,2)—>3,置信度=3/4(出现(1,2)的记录共4条,其中有3条包含3,所以3/4);
(1,3)—>2,置信度=3/5;
(2,3)—>1,置信度=3/3;
第二条置信度<5/7,未达到最小置信度,所以剔除掉。所以对于3-频繁项目集生成的强关联规则为:(1,2)—>3和(2,3)—>1。
这表示,如果1、2出现了,则极有可能出现3;2、3出现,则极有可能有1。
http://www.cnblogs.com/junyuhuang/p/5572364.html
⑧ apriori算法是什么
Apriori算法是第一个关联规则挖掘算法,也是最经典的算法。它利用逐层搜索的迭代方法找出数据库中项集的关系,以形成规则,其过程由连接(类矩阵运算)与剪枝(去掉那些没必要的中间结果)组成。该算法中项集的概念即为项的集合。包含K个项的集合为k项集。项集出现的频率是包含项集的事务数,称为项集的频率。如果某项集满足最小支持度,则称它为频繁项集。
算法应用
随着高校贫困生人数的不断增加,学校管理部门资助工作难度也越加增大。针对这一现象,提出一种基于数据挖掘算法的解决方法。将关联规则的Apriori算法应用到贫困助学体系中,并且针对经典Apriori挖掘算法存在的不足进行改进,先将事务数据库映射为一个布尔矩阵,用一种逐层递增的思想来动态的分配内存进行存储,再利用向量求"与"运算,寻找频繁项集。
⑨ 第九章 数据关联规则分析算法——基于Apriori算法的关联项分析
9.1 基于Apriori算法的关联分析
Aprior算法是关联规则分析中较为经典的频繁项集算法。关联规则反映的是两个或多个事物相互之间的依存性和关联性。如果两个或者多个事物相互之间存在一定的关联关系,则它们之间存在一种关联规则使得它们之间可以进行搭配。
9.1.1 基本概要
Apriori算法利用频繁项集的先验知识,不断地按照层次进行迭代,计算数据集中的所有可能的频繁项集,它的分析主要包括两个核心部分。
1、根据支持度找出频繁项集;
2、根据置信度产生关联规则。
9.1.2 Apriori算法原理
基本流程:
1、扫描历史数据,并对每项数据进行频率次数统计。
2、构建候选集 ,并计算其支持度,即数据出现频率次数与总数的比。
3、对候选项集进行筛选,筛选的数据项支持度应当不小于最小支持度,从而形成频繁项集 .
4、对频繁项集 进行连接生成候选集 ,重复上述步骤,最终形成频繁K项集或者最大频繁项集。
Apriori算法存在两大定理:
1、如果一个集合是频繁项集,那么它的所有子集都是频繁集合。
2、如果一个集合它不是频繁集合,那么它的所有超集都不是频繁项集。
9.1.3 Apriori算法优缺点
优:运算过程非常简单,理论方法也比较容易理解,对数据特征的要求也相对较低。
缺:
1、产生候选集是产生较多的组合,没有考虑将一些无关的元素排除后再进行组合。
2、每次计算项集的过程中都会扫描元素的数据表。
针对不足推出不断改进的Apriori算法:
1、将数据表(事务表)进行压缩。
2、利用哈希表的快速查找特性对项集进行计数统计。
3、合理选样。
⑩ 请教推荐算法中关联规则的最小支持度和最小置信度如何确认
apriori算法有支持度和置信度两个概念,都是在执行算法之前自己设定的,在每一次迭代过程后,大于支持度的项集被保留为频繁项集,最后生成的规则由最终的频繁项集组成,简单说也就是支持度越小,频繁项集越多,置信度越小