关联规则项目[数据挖掘]关联规则挖掘
2013-05-04 20:30
211 查看
废话就不多说了,开始。。。
联关则规(association rule)是据数中所含蕴的一类要重法则。联关则规发掘的目标是在据数项目中找出有所的并发关系(cooccurrence relationships),这类关系也称为联关(association)。联关则规发掘的经典应用是购物篮(Market Basket), 联关则规发掘并没有斟酌客户购置商品时的序顺。
在分析联关则规发掘法算前,我们先懂得一些相干的观点。
联关则规的基本观点
联关则规发掘问题常通可以表述为:I={i1, i2, …, im}是一个项目(Item)合集,T={t1,t2, …, tn} 是一个事务(Transaction)合集,其中个每事务ti是一个项目合集, 并且满意ti属于I。
一个联关则规是一个如下式形含蕴的关系X—> Y, 其中X是I的真子集,Y也是I的真子集,并且X∩Y=Ф, X 或 Y是一个项目的合集, 称作项集(ItemSet),并且X为前件,Y为后件。
如果项集X是事务T的子集,X在T中的支撑数计(表现为X.count)是T中含包X的事务目数。
支撑度(Support):定义为 supp(X) = X.count / count(D) = P(X)
置信度:一条则规X—> Y的置信度指的是“既含包了X又含包了Y的事务数量占有所含包了X的事务的百分比”,可以作看是件条率概P(Y|X)
置信度定义为定义为 conf(X->Y) = supp(X ∪ Y) / supp(X) = P(Y|X)。
候选集(Candidate itemset):通过向下合并得出的项集。定义为C[k]。
繁频集(Frequent itemset):支撑度大于即是特定的最小支撑度(Minimum Support/minsup)的项集。表现为L[k]。注意,繁频集的子集一定是繁频集。
晋升比率(晋升度Lift):lift(X -> Y) = lift(Y -> X) = conf(X -> Y)/supp(Y) = conf(Y -> X)/supp(X) = P(X and Y)/(P(X)P(Y))
支撑度表现一个事物生发的率概, 而置信度表现两个事物的联关强度。
联关则规发掘的目标:给定一个事务集T,联关则规发掘是指"找出T中有所满意支撑度和置信度分离高于一个用户指定的最小支撑度(minsup)和最小置信度(minconf)的联关则规"
Apriori法算(演绎法算)
联关则规发掘法算的计设可以分解为两个子问题:
1.生成有所繁频项目集:即找到有所支撑度大于最小支撑度的项集(Itemset)。
每日一道理
古人云:“海纳百川,有容乃大。”人世间,不可能没有矛盾和争吵,我们要以磊落的胸怀和宽容的微笑去面对它 。哈伯德也曾说过:“宽恕和受宽恕的难以言喻的快乐,是连神明都会为之羡慕的极大乐事。”让我们从宽容中享受快乐,从谅解中体会幸福吧!
2.从繁频项目集中生成有所可托联关则规:即从骤步1中选出置信度大于最小置信度的项。
Apriori法算中定假项集I中的项目都采用了字典排序,这个很要重,因此在实现Apriori法算的时候,对项目的编码很要重。
C[1]<--init-pass(T); //对事务集T行进第一轮搜索,生成1-候选集 F[1]<--{f|f属于C[1], supp(f) >=minsup} //从1-候选会合选出1-繁频集 for(k=2; F[k-1]<>NULL; k++) { C[k]<--candidate-gen(F[k-1]); for each t 属于 T { for each c属于C[k] { if c is contianed in t then c.count++; } } F[k]<--{c属于C[k]| supp(c) >= minsup} } return F<-- UF[k]
C[k] <---NULL; //初始化k-候项选集 for all f1, f2 属于F[k-1] with f1={i1, i2, …, ik-2, ik-1} f2={i1, i2, …, ik-2, i`k-1} and ik-1 < i`k-1 //找出有所的“只有最后一项不同的k-1繁频项目对” { c<---{i1, i2, …, ik-2, ik-1, i`k-1}; //根据字典序合并两个k-1项,构成k候项选 C[k].add(c); for each (k-1)-subset s of c //将c中取人以k-1个项,成形k-1子项 { if(s 不属于 F[k-1]) { C[k].delete(c) } } } return C[k]
for (属于F的个每k-繁频项目 f[k], k>=2) { r1<---- gen 1-item rule of f[k] with confidence >= minConf and support<---f[k].count/n H[1].add({f[k]} -{ r1}); ap-genRules(f[k], H[1] ); }
ap-genRules(f[k], H[m])
if (k > m + 1 && H[m]<> NULL)
{
H[m+1] <--- candidate-gen(H[m]);
for (each h[m+1] in H[m+1])
{
conf = f[k].count / (f[k] - h[m+1]).count;
if (conf >= minConf)
{
gen the rule(f[k] - h[m + 1]) -->h[m+1] with confidence = conf and support = f[k].support / n;
}
else
{
delete h[m + 1] from H[m+1];
}
}
ap-enRules(f[k], H[m+1]);
}
文章结束给大家分享下程序员的一些笑话语录:
现在社会太数字化了,所以最好是有一个集很多功能于一身的设备!
联关则规(association rule)是据数中所含蕴的一类要重法则。联关则规发掘的目标是在据数项目中找出有所的并发关系(cooccurrence relationships),这类关系也称为联关(association)。联关则规发掘的经典应用是购物篮(Market Basket), 联关则规发掘并没有斟酌客户购置商品时的序顺。
在分析联关则规发掘法算前,我们先懂得一些相干的观点。
联关则规的基本观点
联关则规发掘问题常通可以表述为:I={i1, i2, …, im}是一个项目(Item)合集,T={t1,t2, …, tn} 是一个事务(Transaction)合集,其中个每事务ti是一个项目合集, 并且满意ti属于I。
一个联关则规是一个如下式形含蕴的关系X—> Y, 其中X是I的真子集,Y也是I的真子集,并且X∩Y=Ф, X 或 Y是一个项目的合集, 称作项集(ItemSet),并且X为前件,Y为后件。
如果项集X是事务T的子集,X在T中的支撑数计(表现为X.count)是T中含包X的事务目数。
支撑度(Support):定义为 supp(X) = X.count / count(D) = P(X)
置信度:一条则规X—> Y的置信度指的是“既含包了X又含包了Y的事务数量占有所含包了X的事务的百分比”,可以作看是件条率概P(Y|X)
置信度定义为定义为 conf(X->Y) = supp(X ∪ Y) / supp(X) = P(Y|X)。
候选集(Candidate itemset):通过向下合并得出的项集。定义为C[k]。
繁频集(Frequent itemset):支撑度大于即是特定的最小支撑度(Minimum Support/minsup)的项集。表现为L[k]。注意,繁频集的子集一定是繁频集。
晋升比率(晋升度Lift):lift(X -> Y) = lift(Y -> X) = conf(X -> Y)/supp(Y) = conf(Y -> X)/supp(X) = P(X and Y)/(P(X)P(Y))
支撑度表现一个事物生发的率概, 而置信度表现两个事物的联关强度。
联关则规发掘的目标:给定一个事务集T,联关则规发掘是指"找出T中有所满意支撑度和置信度分离高于一个用户指定的最小支撑度(minsup)和最小置信度(minconf)的联关则规"
Apriori法算(演绎法算)
联关则规发掘法算的计设可以分解为两个子问题:
1.生成有所繁频项目集:即找到有所支撑度大于最小支撑度的项集(Itemset)。
每日一道理
古人云:“海纳百川,有容乃大。”人世间,不可能没有矛盾和争吵,我们要以磊落的胸怀和宽容的微笑去面对它 。哈伯德也曾说过:“宽恕和受宽恕的难以言喻的快乐,是连神明都会为之羡慕的极大乐事。”让我们从宽容中享受快乐,从谅解中体会幸福吧!
2.从繁频项目集中生成有所可托联关则规:即从骤步1中选出置信度大于最小置信度的项。
Apriori法算中定假项集I中的项目都采用了字典排序,这个很要重,因此在实现Apriori法算的时候,对项目的编码很要重。
frequent-itemset-gen(T)
C[1]<--init-pass(T); //对事务集T行进第一轮搜索,生成1-候选集 F[1]<--{f|f属于C[1], supp(f) >=minsup} //从1-候选会合选出1-繁频集 for(k=2; F[k-1]<>NULL; k++) { C[k]<--candidate-gen(F[k-1]); for each t 属于 T { for each c属于C[k] { if c is contianed in t then c.count++; } } F[k]<--{c属于C[k]| supp(c) >= minsup} } return F<-- UF[k]
candidate-gen(F[k-1])
C[k] <---NULL; //初始化k-候项选集 for all f1, f2 属于F[k-1] with f1={i1, i2, …, ik-2, ik-1} f2={i1, i2, …, ik-2, i`k-1} and ik-1 < i`k-1 //找出有所的“只有最后一项不同的k-1繁频项目对” { c<---{i1, i2, …, ik-2, ik-1, i`k-1}; //根据字典序合并两个k-1项,构成k候项选 C[k].add(c); for each (k-1)-subset s of c //将c中取人以k-1个项,成形k-1子项 { if(s 不属于 F[k-1]) { C[k].delete(c) } } } return C[k]
genRules(F)
for (属于F的个每k-繁频项目 f[k], k>=2) { r1<---- gen 1-item rule of f[k] with confidence >= minConf and support<---f[k].count/n H[1].add({f[k]} -{ r1}); ap-genRules(f[k], H[1] ); }
ap-genRules(f[k], H[m])
if (k > m + 1 && H[m]<> NULL)
{
H[m+1] <--- candidate-gen(H[m]);
for (each h[m+1] in H[m+1])
{
conf = f[k].count / (f[k] - h[m+1]).count;
if (conf >= minConf)
{
gen the rule(f[k] - h[m + 1]) -->h[m+1] with confidence = conf and support = f[k].support / n;
}
else
{
delete h[m + 1] from H[m+1];
}
}
ap-enRules(f[k], H[m+1]);
}
文章结束给大家分享下程序员的一些笑话语录:
现在社会太数字化了,所以最好是有一个集很多功能于一身的设备!
相关文章推荐
- 浅谈数据挖掘中的关联规则挖掘
- 【Python数据挖掘课程】八.关联规则挖掘及Apriori实现购物推荐
- 关联规则(挖掘),数据关联(融合)
- 《数据之美》:概括描述了20个数据挖掘、数据可视化、云存储及其他数据处理相关项目
- 大数据之数据挖掘理论笔记 关联规则与Apriori算法
- 基于R的数据挖掘方法与实践(2)——关联规则
- 数据挖掘之关联规则
- HAWQ + MADlib 玩转数据挖掘之(七)——关联规则方法之Apriori算法
- 数据挖掘算法-Apriori Algorithm(关联规则)
- Hadoop大数据零基础高端实战培训系列配文本挖掘项目
- 【转】数据挖掘算法-Apriori Algorithm(关联规则)
- 结合这两年的项目经历谈谈对公安行业数据挖掘背后的意义
- 数据挖掘之关联规则和频繁项集
- 数据挖掘笔记-关联规则-FPGrowth-MapReduce实现
- CRISP-DM——数据挖掘项目标准流程
- 数据挖掘系列(1)关联规则挖掘基本概念与Aprior算法
- 数据挖掘学习------------------2-关联规则-1-基本概念
- 使用SQL Server Analysis Services数据挖掘的关联规则实现商品推荐功能(二)
- 数据挖掘之关联规则挖掘
- 数据挖掘:Apriori 关联规则分析算法原理分析与代码实现