解释一段Apriori算法的意思,越详细越好偶电脑白痴

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解释一段Apriori算法的意思,越详细越好偶电脑白痴相关的知识,希望对你有一定的参考价值。

1)L 1=find_frequent_1-itemsets(D);
2)for(i=2;L i-1≠¢;i++)
3)C k=apriori_gen(L i-1,Vmin_sup);‖产生新的候选项集,
4)for each transaction t∈D‖扫描D并计数
5)if t.delete=0 then do begin
6)C t=subset(C i,t);‖获取t的子集作为候选
7)if C t=¢then
8)t.delete=1‖打上删除标志
9)else‖对每一个Ct进行计数并记录内容
10)if C t=c then t.count++,t.text=c
11)for each candidate c∈C t.
12)c.count++;
13)end
14)
15)if 0<t.count and t.text.count<Vmin_sup then
16)t.delete=1‖去掉已无作用的事务t
17)L i=c∈C i|c.count≥Vmin_sup‖得到满足条件的L i
18)
19)return L=Li-1∪L i;

这段是经典Ariori算法产生频繁项集的伪代码 参考技术A bi ci

[机器学习] Apriori算法

适用场合

Apriori算法包含两部分内容:1,发现频繁项集 2,挖掘关联规则。

通俗地解释一下,就是这个意思:1.发现哪些项目常常同时出现 2.挖掘这些常常出现的项目是否存在“如果A那么B”的关系。

举个例子:网店购物订单常常会出现这样一种情况:那就是某几种物品常常一起买。比如锅和铲子、手机和手机壳等就会常常出现在同一个订单中,因此挖掘出哪些项目常常同时出现就是1中的问题。再进一步,对于这些常常出现的频繁项集,如果能挖掘出“若A则B”的更强关系,那就更好了。比如买了手机的常常会再买个手机壳,但是反过来不成立。

发现频繁项集

发现频繁项集最直观的想法,就是想办法对所有的项目进行全组合,也就是产生2n种,然后对这些不同的种类挨个计算出现最频繁的组合。但是这种方法的搜索空间太大,速度非常慢。Apriori定理可以很大程度上缩小搜索空间,其内容是:任一频繁项集的所有非空子集也必须是频繁的,也就是说,任何一个非频繁项集的超集一定也是非频繁项集。这样就可以直接删除所有包含非频繁项集的集合,很大程度上减少了搜索空间。

转载了一张图,非常明晰地说明了其中的道理:

技术分享

(图片来源:http://www.jianshu.com/p/00103435ef89)

挖掘关联规则

挖掘关联规则是以频繁项集为基础的。假设我们已经找到了几个频繁项集,现在要找到其中是否蕴含“若A则B”的因果关系。

要想计算是否存在因果关系,很直观的想法就是计算条件概率P(B|A),看看在A条件下B的概率是否足够高。

术语

假设项集有A,B。

有了上述的铺垫,现在引入术语定义:

支持度(support):P(AB),A和B同时出现概率。越大越频繁。

置信度(confidence):P(B|A),条件概率。越大说明英国越强。

提升度(lift):P(B|A)/P(B),有A这个条件和没有A这个条件时,B出现的概率之比。

 

以上是关于解释一段Apriori算法的意思,越详细越好偶电脑白痴的主要内容,如果未能解决你的问题,请参考以下文章

请问哪位可以解释机票里PTA这个概念,越详细越精准越好。

求HTML中所有的标签以及标签解释,和,CSS样式表内容越详细越好,越容易理解越好

python图像处理代码,望大神详细解释。越详细越好

电脑BOTT设置:最少要有AWATD和AMI俩种,越详细越好,最好是前面按BIOS设置介面一样只是在英文下写上翻译

求OpenLayers.Bounds的作用解答,越详细越好 .

如何使用GOOGLE,越详细越好