数据挖掘之关联分析七(非频繁模式)

非频繁模式

非频繁模式,是一个项集或规则,其支持度小于阈值minsup.
绝大部分的频繁模式不是使人感兴趣的,但其中有些分析是有用的,特别是涉及到数据中的负相关时,如一块儿购买DVD的顾客多半不会购买VCR,反之亦然,这种负相关模式有助于识别竞争项(competing item),便可以相互替代的项。html

某些非频繁模式也可能暗示数据中出现了某些罕见事件或例外状况。如,若是{火灾=yes}是频繁的,可是{火灾=yes,警报=on}是非频繁的,则后者是有趣的非频繁模式,由于可能指出报警系统出问题,为了检测这种状况,能够肯定模式的指望支持度,当模式支持度小于指望支持度时,代表其实一个有趣的非频繁模式。算法

挖掘非频繁模式的主要问题是:markdown

  1. 如何识别有趣的非频繁模式。
  2. 如何在大数据集中有效地发现它们。

负模式

\(I = { i_1, i_2, \cdots, i_d }\)是项的集合。负项\(\bar{i_k}\)表示项\(i_k\)不在给定事务中出现。如事务不包含咖啡,则\(\bar{咖啡}\)是一个值为1的负项。性能

负项集,负项集X是一个具备以下性质的项集:(1)\(X = A \cup \bar{B}\),其中A是正项的集合,而\(\bar{B}\)是负项的集合,\(|\bar{B}| \geq 1\);(2)\(s(X) \geq minsup\)大数据

负关联规则,(1)规则是从负项集中提取的,(2)规则支持度大于或等于minsup,(3)规则的置信度大于或等于minconf。spa

负项集和负关联规则称为负模式(negative pattern)。负关联规则的一个例子是\(茶 \to \bar{咖啡}\)设计

负相关模式

\(X = {x_1, x_2, \cdots, x_k}\)表示k-项集,P(X)表示事务包含X的几率。在关联分析中,这个几率一般用项集的支持度s(X)估计。3d

负相关项集 项集X是负相关的,若是
\[s(X) < \prod_{j = 1}^k s(x_j) = s(x_1) \times s(x_2) \times \cdots \times s(x_k)\]
其中\(s(x_j)\)是项\(x_j\)的支持度。s(X)是给出了X的全部项统计独立的几率估计。若是它的支持度小于使用统计独立性假设计算出的指望支持度。s(X)越小,模式就越负相关。htm

负相关关联规则,规则\(X \to Y\)是负相关的,若是
\[s(X \cup Y) < s(X)s(Y)\]
其中$X \cap Y = \varnothing $,这里定义的X和Y中的项的负相关部分条件,负相关的彻底条件为
\[s(X \cap Y) < \prod_i s(x_i) \prod_j s(y_j)\]
其中\(x_i \in X\)\(y_i \in Y\)。由于X或Y中的项一般是正相关的,所以使用部分条件而不是彻底条件来定义负相关关联规则更实际。如规则
\[{眼镜,镜头清洁剂} \to {隐形眼镜,盐溶液}\]
是负相关的,可是其中项集内的项之间是负相关的,眼镜盒镜头清洁剂是负相关的,若是使用彻底条件,可能就不能发现该规则了。blog

负相关条件也能够用正项集和负项集的支持度表示
(不知道为何博客园的markdown不支持多行公式?在其余地方均可以的,若是知道怎么作的但愿能告知~~)

能够获得负相关的条件为
\[s(X \cup Y)s(\bar{X} \cup \bar{Y}) < s(X \cup \bar{Y})s(\bar{X} \cup Y)\]

负相关项集和负相关关联规则统称为负相关模式(negatively correlated pattern)

非频繁模式、负模式和负相关模式比较

根据上面的定义,咱们获得,非频繁模式与负相关模式只涉及包含正项的项集或模式,而负模式涉及包含正项和负项的项集或模式。

挖掘有趣的非频繁模式技术

非频繁项集是未被的频繁项集产生算法如Apriori或FP所提取的有所项集,以下面边界下的那些项集

非频繁模式的数量多是指数的,挖掘非频繁模式主要是为了挖掘那些有趣的非频繁模式。能够经过删除那些不知足负相关条件的非频繁项集获得。可是与挖掘频繁项集的支持度度量不一样,挖掘负相关项集使用的基于相关性的度量不具备用于指数搜索空间剪枝的反单调性,于是计算量很大。

基于挖掘负模式的技术

使用负项增广,将事务数据二元化,把原始数据变成具备正项和负项的事务。对增广的事务使用已有的频繁项集生成算法。能够导出全部的负项集。
(下面的右表中B和D两项标好像错了,应为\(\bar{B}\)\(\bar{D}\)

若是只有少许变量被视为对称的二元变量时,该方法可行的,可是若是不少项,则会出现一些问题

  1. 数据集翻倍
  2. 引入负项后,会出现\(x\)\(\bar{x}\),其中必有一个项的支持度超过50%,于是致使使用基于支持度剪枝策略算法时,频繁项集的数量将呈指数增加。
  3. 增长负项后,事务的宽度增长,将会增长候选项集的数量,不少算法都不能使用。

前面的方法是蛮力计算方法,代价很高,由于迫使咱们肯定大量正模式和负模式的支持度。另外一种方法不是用负项集增广数据集,而利用正项集来计算负项集的支持度。如
\[s({p, \bar{q}, \bar{r}}) = s({p}) - s({p, q}) - s({p, r}) + s({p, q, r})\]
一般项集\(X \cup Y\)的支持度能够
\[s(X \cup Y) = s(X) + \sum_{i = 1}^n \sum_{Z \subset Y, |Z| = i} {(-1)^i \times s(X \cup Z)}\]

能够用其余的方法来进一步提升算法性能,仅桑y频繁时,\(\bar{y}\)才是有趣的。稀有项易于产生非频繁项集。

基于支持度指望的技术。

仅当非频繁模式的支持度显著小于指望支持度时,才认为是有趣的,指望支持度根据统计独立性假设计算。使用概念分层和基于近邻的方法,称做间接关联。

1. 基于概念分层的支持度指望

仅用客观度量还不足以删除不感兴趣的非频繁模式。如面包和台式机是不一样的产品类,他们的支持度较低,可是他们不是有趣的非频繁模式,于是须要使用领域知识裁剪不感兴趣的项。

假定{C, G}是频繁的,用s(.)表示模式的实际支持度,\(\varepsilon(.)\)表示指望支持度。则
\[\varepsilon(s(E, J)) = s(C, G) \times \frac{s(E)}{s(C)} \times \frac{s(J)}{s(G)}\]
\[\varepsilon(s(C, J)) = s(C, G) \times \frac{s(J)}{s(G)}\]
\[\varepsilon(s(C, H)) = s(C, G) \times \frac{s(H)}{s(G)}\]

2. 基于间接关联的支持度指望
商品(a, b),若是是不相关商品,则预期支持度较低,若是是相关的商品,预期支持度较高。上面使用概念分层来计算指望支持度,下面使用另一种方法:经过考察与这两个商品一块儿购买的其余商品。

间接关联,一对项a,b是经过中介集间接关联的,若是下列条件成立
(1)\(s({a, b}) < t_x\) (项对支持度条件)
(2)\(\exists Y \neq \varnothing\)使得

(a) \(s({a} \cup Y) \geq t_f\)而且\(s({b} \cup Y) \geq t_f\) (中介支持度条件)

(b) \(d({a}, Y) \geq t_d, d({b}, Y) \geq t_d\),其中d(X, Z)是X和Z之间关联的客观度量 (中介依赖条件)

中介支持度和依赖条件确保Y中的项造成a和b的近邻。可使用兴趣因子、余弦或其余依赖度量。

进阶关联有不少应用,如a和b多是竞争商品。文本挖掘中能够识别同义词和反义词。

数据挖掘之关联分析一(基本概念)
数据挖掘之关联分析二(频繁项集的产生)
数据挖掘之关联分析三(规则的产生)
数据挖掘之关联分析四(连续属性处理)
数据挖掘之关联分析五(序列模式)
数据挖掘之关联分析六(子图模式)
数据挖掘之关联分析七(非频繁模式)

相关文章
相关标签/搜索