做一个响应式网站价格网站备案 修改
做一个响应式网站价格,网站备案 修改,做远程培训网站用什么系统,免费的游戏大全目录 三、FP-增长算法#xff08;一#xff09;算法的背景#xff08;二#xff09;构造FP-树#xff08;三#xff09;生成频繁项集 四、关联规则的评价#xff08;一#xff09;支持度和置信度的不足#xff08;二#xff09;相关性分析 三、FP-增长算法
#xf… 目录 三、FP-增长算法一算法的背景二构造FP-树三生成频繁项集 四、关联规则的评价一支持度和置信度的不足二相关性分析 三、FP-增长算法
一算法的背景
Apriori算法存在以下两方面的不足
1产生大量的候选项集 例如当事务数据库有104个频繁1-项集时 Apriori算法就需要产生多达107个候选2-项集即对存储空间要求会影响算法的执行效率。
2多次重复地扫描事务数据库 对每个 k 1 , 2 , ⋯ , m k1,2,\cdots,m k1,2,⋯,m为了计算候选k-项集的支持度都需要扫描一次事务数据库才能确定候选k-项集的支持度其计算时间开销很大。
用 FP-增长 (Frequent-Pattern GrowthFP-Growth) 算法来发现频繁项集。算法只需扫描事务数据库两次其计算过程主要由以下两步构成。
1构造FP-树 将事务数据库压缩到一棵频繁模式树 (Frequent-Pattern Tree简记为FP-树) 之中并让该树保留每个项的支持数和关联信息。
2生成频繁项集 由FP-树逐步生成关于项集的条件树并根据条件树生成频繁项集。
二构造FP-树 FP-树是事务数据库的一种压缩表示方法。它通过逐个读入事务并把每个事务映射为FP-树中的一条路径且路径中的每个结点对应该事务中的一个项。不同的事务如果有若干个相同的项则它们在FP-树中用重叠的路径表示用结点旁的数字标明该项的重复次数作为项的支持数。因此路径相互重叠越多使用FP-树结构表示事务数据库的压缩效果就越好。如果FP-树足够小且能够在内存中存储则可以从这个内存的树结构中直接提取频繁项集而不必再重复地扫描存放在硬盘上的事务数据库。 某超市经营 a , b , c , d , e a,b,c,d,e a,b,c,d,e 等5种商品即超市的项集 I { a , b , c , d , e } I\{a,b,c,d,e\} I{a,b,c,d,e}而表8-8是其交易数据库 T T T。 下面借用这个事务数据库来介绍FP-树的构造方法这里假设最小支持数 M i n S 2 MinS2 MinS2。
FP-树的构造主要由以下两步构成。
1生成事务数据库的头表 H H H。 第一次扫描事务数据库 T T T确定每个项的支持数将频繁项按照支持数递减排序并删除非频繁项得到 T T T 的频繁-1项集 H { i v : S p t N v ∣ i v ∈ I , S p t N v 为项目 i v 的支持数 } H\{i_v:SptN_v | i_v\in I, SptN_v为项目i_v的支持数\} H{iv:SptNv∣iv∈I,SptNv为项目iv的支持数}。现有文献都将 H H H 称为事务数据库的头表 (Head table)。 对于表8-8的事务数据库 T T T其头表 H { ( a : 8 ) , ( b : 7 ) , ( c : 6 ) , ( d : 5 ) , ( e : 3 ) } H\{(a:8),(b:7),(c:6),(d:5),(e:3)\} H{(a:8),(b:7),(c:6),(d:5),(e:3)}即 T T T 中的每个项都是频繁的。
2生成事务数据库的FP-树 第二次扫描数据集 T T T读出每个事务并构建根结点为null的FP-树。 开始时FP-树仅有一个结点null然后依次读入 T T T 的第 r r r 个事务 t r ( r 1 , 2 , ⋯ , ∣ T ∣ ) t_r (r1,2,\cdots,|T|) tr(r1,2,⋯,∣T∣)。设 t r t_r tr 已删除了非频繁项且已按照头表 H H H 递减排序为 { a 1 , a 2 , ⋯ , a i r } \{a_1,a_2,\cdots,a_{i_{r}}\} {a1,a2,⋯,air}则生成一条路径 t r n u l l − a 1 − a 2 − , ⋯ , − a i r t_rnull-a_1-a_2-,\cdots,-a_{i_{r}} trnull−a1−a2−,⋯,−air并按以下方式之一将其添加到FP-树中直到所有事务处理完备。
① 如果FP-树与路径 t r t_r tr 没有共同的前缀路径 (prefix path)即它们没有从null开始其余结点完全相同的一段子路径则将 t r t_r tr 直接添加到FP-树的null结点上形成一条新路径且让 t r t_r tr 中的每个项对应一个结点并用 a v : 1 a_v:1 av:1 表示。
例 8-6 假设FP-树中已有两条路径 null-a-b 和 null-c-d-e (图8-4(1))。设有事务 t { b , c , d } t\{b,c,d\} t{b,c,d}其对应的路径为 t n u l l − b − c − d tnull-b-c-d tnull−b−c−d (事务和对应的路径采用同一个符号 t t t )。因为FP-树与 t t t 没有共同的前缀路径即从null开始没有相同的结点因此将t直接添加到FP-树中(图8-4(2))。 ② 如果FP-树中存在从根结点开始与 t r t_r tr 完全相同的路径即FP-树中存在从null到 a 1 a_1 a1 直到的路径则将FP-树中该路径上从 a 1 a_1 a1 到的每个结点支持数增加1即可。
例 8-7 假设FP-树中已有两条路径 null-a-b-c 和 null-b-c-d (图8-5(1))。设有事务 t { a , b } t\{a,b\} t{a,b}其路径为 t n u l l − a − b tnull-a-b tnull−a−b则因为FP-树从根节点 null 开始存在与 null-a-b 完全相同的路径因此将结点 a , b a,b a,b 的支持数分别增加1即可(图8-5(2))。 ③ 如果FP-树与路径 t r t_r tr 有相同的前缀路径即FP-树已有从null到 a 1 a_1 a1 直到 a j a_j aj 的路径则将FP-树的结点 a 1 a_1 a1 到 a j a_j aj 的支持数增加1并将 t r t_r tr 从 a j 1 a_{j1} aj1 开始的子路径放在 a j a_j aj 之后生成新的路径。
例 8-8 假设FP-树中已有两条路径 null-a-b 和 null-b-c-d (图8-6(1))。设有事务 t { b , c , e } t\{b,c,e\} t{b,c,e}其对应的路径为 t n u l l − b − c − e tnull-b-c-e tnull−b−c−e则因为FP-树与 t t t 存在共同的前缀路径 null-b-c因此将结点 b , c b,c b,c 的支持数直接增加1并在结点 c c c 后面增加结点 e e e (图8-6(2))。 例 8-9 对表8-8所示的事务数据库 T T T假设最小支持数 M i n S 2 MinS2 MinS2试构造它的FP-树。 三生成频繁项集 由于每一个事务都被映射为FP-树中的一条路径且结点代表项和项的支持数因此通过直接考察包含特定结点 (例如e) 的路径就可以发现以特定结点 (比如e) 结尾的频繁项集。 由FP-树生成频繁项集的算法以自底向上的方式搜索FP-树并产生指定项集的条件树再利用条件树生成频繁项集。 对于图8-8所示的FP-树算法从头表 H { ( a : 8 ) , ( b : 7 ) , ( c : 6 ) , ( d : 5 ) , ( e : 3 ) } H\{(a:8),(b:7),(c:6),(d:5),(e:3)\} H{(a:8),(b:7),(c:6),(d:5),(e:3)} 的最后即支持数最小的项开始依次选择一个项并构造该项的条件FP-树 (condition FP-tree)即首先生成以 e e e 结尾的前缀路径更新其结点的支持数后获得 e e e 的条件FP-树并由此生成频繁项集 { e } \{e\} {e}。 在 { e } \{e\} {e} 频繁的条件下需要进一步发现以 d e 、 c e 、 b e de、ce、be de、ce、be 和 a e ae ae 结尾的频繁项集等子问题直至获得以 e e e 结尾的所有频繁项集即包括 e e e 的所有频繁项集。 观察头表 H H H 可知包括 e e e 的项集共有 { e } \{e\} {e}, { d , e } \{d,e\} {d,e}, { c , e } \{c,e\} {c,e}, { b , e } \{b,e\} {b,e}, { a , e } \{a,e\} {a,e}, { c , d , e } \{c,d,e\} {c,d,e}, { b , d , e } \{b,d,e\} {b,d,e}, { b , c , e } \{b,c,e\} {b,c,e}, { a , d , e } \{a,d,e\} {a,d,e}, { a , c , e } \{a,c,e\} {a,c,e}, { a , b , e } \{a,b,e\} {a,b,e}, { a , c , d , e } \{a,c,d,e\} {a,c,d,e} 等。在 e e e 的条件FP-树产生过程中算法会不断地删除非频繁项集保留频繁项集而不是枚举地检验以上每个项集是否为频繁的因而提高了搜索效率。从 d e de de 的条件FP-树可得以 d e de de 结尾的频繁项集 { a , d , e } , { d , e } \{a,d,e\}, \{d,e\} {a,d,e},{d,e}。 当包括 e e e 的所有频繁项集生成以后接下来再按照头表 H H H并依次寻找包括 d , c , b d, c, b d,c,b 或 a a a 的所有频繁项集即依次构造以 d , c , b d, c, b d,c,b 或 a a a 结尾的前缀路径和条件FP-树并获得以它们结尾的所有频繁项集。 根据与前面类似的计算过程最终可得事务数据库 T T T 的所有频繁项集 (表8-9)。 四、关联规则的评价
1、主观标准 以决策者的主观知识或领域专家的先验知识等建立的评价标准称为主观兴趣度。关联规则 {黄油} ⇒ \Rightarrow ⇒{面包} 有很高的支持度和置信度但是它表示的联系连超市普通员工都觉得显而易见因此不是有趣的。关联规则 {尿布} ⇒ \Rightarrow ⇒{啤酒} 确实是有趣的因为这种联系十分出人意料并且可能为零售商提供新的交叉销售机会。
2、客观标准 以统计理论为依据建立的客观评价标准称为客观兴趣度。客观兴趣度以数据本身推导出的统计量来确定规则是否是有趣的。支持度置信度提升度等都是客观兴趣度也就是客观标准。
一支持度和置信度的不足 为了说明支持度和置信度在关联规则检测中存在的不足可用基于2个项集 A A A 和 B B B也称二元变量 A A A B B B的相依表来计算说明 (表8-10)。 表8-10中的记号 A ‾ \overline A A 表示项集 A A A 没有在事务中出现 n i j n_{ij} nij 为支持数即 n 11 n_{11} n11 表示同时包含项集 A A A 和 B B B 的事务个数 n 01 n_{01} n01 表示包含 B B B 但不包含 A A A 的事务个数 n 10 n_{10} n10 表示包含 A A A 但不包含 B B B 的事务个数 n 00 n_{00} n00 表示既不包含 A A A 也不包含 B B B 的事务个数 n 1 n_{1} n1 表示 A A A 的支持数 n 1 n_{1} n1 表示 B B B 的支持数而 N N N 为事务数据库的事务总数。
例 8-10 一个误导的“强”关联规则。 若 M i n S 0.3 MinS0.3 MinS0.3 M i n C 0.60 MinC0.60 MinC0.60则 S u p p o r t ( A ⇒ B ) 4000 / 10000 0.4 M i n S Support(A\Rightarrow B)4000/100000.4MinS Support(A⇒B)4000/100000.4MinS C o n f i d e n c e ( A ⇒ B ) 4000 / 6000 0.66 M i n S Confidence(A\Rightarrow B)4000/60000.66MinS Confidence(A⇒B)4000/60000.66MinS 得出 A ⇒ B A\Rightarrow B A⇒B 是一个强关联规则的结论。 实际上 A ⇒ B A\Rightarrow B A⇒B 这个强关联规则却是一个虚假的规则如果商家使用这个规则将是一个错误因为购买录像的概率是75%比66%高。 此外计算机游戏和录像机是负相关的因为买其中一种商品实际上降低了买另一种商品的可能性。如果不能完全理解这种现象容易根据规则 A ⇒ B A\Rightarrow B A⇒B 做出不明智的商业决策。
二相关性分析 提升度 (Lift) 是一种简单的相关性度量。对于项集 A A A 和 B B B如果概 P ( A ∪ B ) P ( A ) P ( B ) P(A\cup B)P(A)P(B) P(A∪B)P(A)P(B)则 A A A 和 B B B 是相互独立的否则它们就存在某种依赖关系。 L i f t ( A , B ) P ( A ∪ B ) / ( P ( A ) × P ( B ) ) ( P ( A ∪ B ) / P ( A ) ) / P ( B ) (8-6) Lift(A,B)P(A\cup B)/(P(A)\times P(B)) (P(A\cup B)/P(A))/P(B)\tag{8-6} Lift(A,B)P(A∪B)/(P(A)×P(B))(P(A∪B)/P(A))/P(B)(8-6) L i f t ( A , B ) C o n f i d e n c e ( A ⇒ B ) / S u p p o r t ( B ) (8-7) Lift(A,B)Confidence(A\Rightarrow B)/Support(B)\tag{8-7} Lift(A,B)Confidence(A⇒B)/Support(B)(8-7) 如果 L i f t ( A , B ) Lift(A,B) Lift(A,B) 的值大于1表示二者存在正相关而小于1表示二者存在负相关。若其值等于1则表示二者没有任何相关性。
对于二元变量提升度等价于被称为兴趣因子 (Interest factor) 的客观度量其定义如下 L i f t ( A , B ) I ( A , B ) S u p p o r t ( A ∪ B ) / ( S u p p o r t ( A ) × S u p p o r t ( B ) ) Lift(A,B) I(A,B)Support(A\cup B)/(Support(A)\times Support(B)) Lift(A,B)I(A,B)Support(A∪B)/(Support(A)×Support(B)) N × n 11 / ( n 1 × n 1 ) (8-8) N\times n_{11}/(n_{1}\times n_{1})\tag{8-8} N×n11/(n1×n1)(8-8)
例 8-11 对于表8-11所示的相依表试计算其提升度或兴趣因子。
解 P ( A ∪ B ) 4000 / 100000 0.4 P(A\cup B)4000/1000000.4 P(A∪B)4000/1000000.4 P ( A ) 6000 / 1000 0.6 P(A)6000/10000.6 P(A)6000/10000.6 P ( B ) 7500 / 10000 0.75 P(B)7500/100000.75 P(B)7500/100000.75 L i f t ( A , B ) P ( A ∪ B ) / ( P ( A ) × P ( B ) ) 0.4 / ( 0.6 × 0.75 ) 0.4 / 0.45 0.89 Lift(A,B) P(A\cup B)/(P(A)\times P(B))0.4/(0.6\times0.75)0.4/0.450.89 Lift(A,B)P(A∪B)/(P(A)×P(B))0.4/(0.6×0.75)0.4/0.450.89
关联规则 A ⇒ B A\Rightarrow B A⇒B也就是 {计算机游戏} ⇒ \Rightarrow ⇒{录像机} 的提升度 Lift(A,B) 小于1即前件 A A A 与后件 B B B 存在负相关关系若推广 “计算机游戏” 不但不会提升 “录像机” 的购买人数反而会减少。
项集之间的相关性也可以用相关系数来度量。对于二元变量 A A A B B B相关系数 r r r 定义为 r ( A , B ) n 11 × n 00 − n 01 × n 10 n 1 × n 1 × n 0 × n 0 (8-9) r(A,B)\frac{n_{11}\times n_{00}-n_{01}\times n_{10}}{\sqrt{n_{1}\times n_{1}\times n_{0}\times n_{0}}}\tag{8-9} r(A,B)n1×n1×n0×n0 n11×n00−n01×n10(8-9) 若相关系数 r r r 等于0表示二者不相关大于0表示正相关小于0表示负相关。
例 8-12 对例8-10的表8-11所示的相依表试计算相关因子。
解相关系数 r r r 的分子等于 4000 × 500 − 3500 × 2000 2000000 − 7000000 − 5000000 4000×500-3500×20002000000-7000000-5000000 4000×500−3500×20002000000−7000000−5000000故相关系数 r r r 小于0故购买 “计算机游戏” 与购买 “录像机” 两个事件是负相关的。
此外相关性还可以用余弦值来度量即 r c o s ( A , B ) p ( A ∪ B ) p ( A ) × p ( B ) S u p p o r t ( A ∪ B ) S u p p o r t ( A ) × S u p p o r t ( B ) (8-10) r_{cos}(A,B)\frac{p(A\cup B)}{\sqrt{p(A)×p(B)}}\frac{Support(A\cup B)}{\sqrt{Support(A)×Support(B)}}\tag{8-10} rcos(A,B)p(A)×p(B) p(A∪B)Support(A)×Support(B) Support(A∪B)(8-10)
相关性度量可以提高关联规则的可用性但仍然存在局限性还需要研究并引入其它客观度量。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/89388.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!