非頻繁模式,是一個項集或規則,其支持度小於閾值minsup.
絕大部分的頻繁模式不是使人感興趣的,但其中有些分析是有用的,特別是涉及到數據中的負相關時,如一塊兒購買DVD的顧客多半不會購買VCR,反之亦然,這種負相關模式有助於識別競爭項(competing item),便可以相互替代的項。html
某些非頻繁模式也可能暗示數據中出現了某些罕見事件或例外狀況。如,若是{火災=yes}是頻繁的,可是{火災=yes,警報=on}是非頻繁的,則後者是有趣的非頻繁模式,由於可能指出報警系統出問題,爲了檢測這種狀況,能夠肯定模式的指望支持度,當模式支持度小於指望支持度時,代表其實一個有趣的非頻繁模式。算法
挖掘非頻繁模式的主要問題是:markdown
設\(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}\))
若是隻有少許變量被視爲對稱的二元變量時,該方法可行的,可是若是不少項,則會出現一些問題
前面的方法是蠻力計算方法,代價很高,由於迫使咱們肯定大量正模式和負模式的支持度。另外一種方法不是用負項集增廣數據集,而利用正項集來計算負項集的支持度。如
\[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多是競爭商品。文本挖掘中能夠識別同義詞和反義詞。
數據挖掘之關聯分析一(基本概念)
數據挖掘之關聯分析二(頻繁項集的產生)
數據挖掘之關聯分析三(規則的產生)
數據挖掘之關聯分析四(連續屬性處理)
數據挖掘之關聯分析五(序列模式)
數據挖掘之關聯分析六(子圖模式)
數據挖掘之關聯分析七(非頻繁模式)