Data Mining: A.A. 14-15 Top-K Frequent (Closed) Itemset

Transcript

Data Mining: A.A. 14-15 Top-K Frequent (Closed) Itemset
Data Mining: A.A. 14-15
1
Top-K Frequent (Closed) Itemset
Sia T un dataset di N transazioni sull’insieme I di d item. Si denoti con FT,s l’insieme
di itemset frequenti (e non vuoti) rispetto a T e alla soglia di supporto minimo s, e con
CLO FT,s l’insieme di itemset chiusi frequenti (e non vuoti) rispetto a T e alla soglia di
supporto minimo s. Osserviamo che il massimo numero di itemset frequenti (e non vuoti),
ovvero FT,0 , è 2d − 1, mentre il massimo numero di itemset chiusi frequenti (e non vuoti),
ovvero CLO FT,0 , dipende dal dataset e lo indicheremo con Φ(T ).
Si danno di seguito alcune definizioni.
Definizione 1 Sia K un intero in [1, 2d − 1]. Allora
s(K) = max{s : |FT,s | ≥ K}.
L’insieme dei top-K frequent itemset (top-K f.i.) per T coincide con l’insieme FT,s(K) .
Definizione 2 Sia K un intero in [1, Φ(T )]. Allora
sc(K) = max{s : |CLO FT,s | ≥ K}.
L’insieme dei top-K frequent closed itemset (top-K f.c.i.) per T coincide con l’insieme
CLO FT,s(K) .
Si vuole adesso valutare quanto il parametro K nella definizione dei top-K frequent
itemset sia in grado di controllarne il numero. Lo faremo risolvendo il seguente problema.
Problema 1 Sia d un intero pari, e si consideri il dataset T di N = (3/2)d transazioni,
T = {ti : 1 ≤ i ≤ N }, sull’insieme di item I = {i : 1 ≤ i ≤ d}, dove
ti = {i} 1 ≤ i ≤ d
td+i = I − {i} 1 ≤ i ≤ d/2.
1. Esplicitare T per d = 6.
2. Identificare gli itemset X tali che σ(X) > d/2 e gli itemset X tali che σ(X) = d/2.
(Si ricordi che σ(X) rappresenta il numero di transazioni che contengono X.)
3. Trovare un valore K polinomiale in d tale che il numero di top-K f.i. è esponenziale
in d.
Soluzione.
1. Esercizio.
Data Mining: A.A. 14-15
2
2. Gli itemset X con σ(X) > d/2 sono tutti e soli gli 1-itemset {i} con d/2 < i ≤ d.
In totale sono d/2. Gli itemset X con σ(X) = d/2 tutti e soli gli 1-itemset {i} con
1 ≤ i ≤ d/2 e gli itemset X con |X| > 1, tali che X ⊆ {i : d/2 < i ≤ d}. In totale
sono d/2 + 2d/2 − 1 − d/2 = 2d/2 − 1. Per qualsiasi altro itemset Y , diverso da quelli
sopra citati, si ha che σ(Y ) < d/2.
3. Per K = d si ha che s(k) = (d/2)/N , e quindi i top-K f.i. sono tutti e soli gli itemset
X con σ(X) ≥ d/2, quindi in totale d/2 + 2d/2 − 1 itemset.
2
Si vede quindi che nel caso dei top-K frequent itemset, il parametro K non riesce a controllare bene, almeno in teoria, il numero di itemset restituiti (in molti casi pratici però
il numero di itemset restituiti è vicino a K). La situazione invece è diversa per quanto
riguarda i top-K frequent closed itemset, come dimostrato dal seguente esercizio.
Problema 2 Sia T un dataset di transazioni su un insieme I di d item.
1. Dimostrare che esiste al più un itemset chiuso di supporto 1.
2. Sia X un itemset chiuso tale che Supporto(X) < 1. Dimostrare che esiste un itemset
chiuso Y ⊂ X, eventualmente vuoto, tale che Supporto(Y ) > Supporto(X) e X =
Chiusura(Y ∪ {a}), per un qualche a ∈ I.
3. Sfruttando i punti precedenti, dimostrare che l’insieme dei top-K f.c.i. contiene al
più d · K itemset.
Soluzione.
1. Un itemset chiuso di supporto 1 è, per definizione, contenuto in tutte le transazioni.
Dato che sappiamo che un itemset chiuso coincide con la sua chiusura, ovvero con
l’intersezione di tutte le transazioni che lo contengono, un itemset chiuso di supporto
1 deve coincidere con l’intersezione (eventualmente vuota) di tutte le transazioni, e
quindi ne può esistere uno solo.
2. Sia Y un itemset chiuso tale che Y ⊂ X (eventualmente Y = ∅) e Supporto(Y ) >
Supporto(X). Un tale itemset deve esistere per forza: basta considerare, ad esempio,
l’intersezione di tutte le transazioni, che è un itemset chiuso (eventualmente vuoto)
di supporto 1 > Supporto(X). Prendo allora l’itemset Y di massima cardinalità con
tali caratteristiche. Quindi non può esistere alcun itemset chiuso Y 0 tale che
Y ⊂ Y 0 ⊂ X.
Sia a ∈ X − Y arbitrario e sia Z = Y ∪ {a}. Chiaramente tutte le transazioni che
contengono X contengono anche Z, e quindi Chiusura(Z) ⊆ Chiusura(X) = X. Dato
che Chiusura(Z) è un itemset chiuso, Y ⊂ Chiusura(Z) ma Y 6= Chiusura(Z), deve
valere che Chiusura(Z) = X, altrimenti si avrebbe un itemset chiuso (Chiusura(Z))
compreso tra Y e X e diverso da entrambi, cosa che abbiamo prima escluso con la
scelta di Y .
Data Mining: A.A. 14-15
3
3. Si consideri il supporto sc(K). Se sc(K) = 1, allora per quanto dimostrato nel
primo punto esiste un solo itemset chiuso di supporto 1, e poichè deve essere che
K = 1, la proprietà vale. Supponiamo invece che sc(K) < 1. Sia n il numero
di itemset chiusi di supporto uguale a sc(K), e m il numero di itemset chiusi di
supporto strettamente maggiore di sc(K). Chiaramente, il numero di top-K f.c.i. è
uguale a m + n. Si osservi anche che m ≤ K − 1, dato che sc(K) è il più grande
supporto che garantisce in output almeno K itemset chiusi frequenti. Dal secondo
punto dell’esercizio sappiamo che per ogni itemset chiuso X di supporto sc(K) deve
esistere un itemset chiuso Y (eventualmente vuoto) di supporto maggiore di sc(K)
e un item a ∈ I tale che X = Chiusura(Y ∪ {a}). Dato un itemset chiuso Y di
supporto strettamente maggiore di sc(K) si ha che, se Y è vuoto, da esso si possono
generare al più d itemset chiusi di supporto uguale a sc(K), mentre se Y non è vuoto,
da esso si possono generare al più d − 1 itemset chiusi di supporto uguale a sc(K).
Dato che gli itemset chiusi e non vuoti con supporto strettamente maggiore di sc(K)
sono m ≤ K − 1, ne deduciamo che n ≤ d + (K − 1) · (d − 1), e quindi il numero di
top-K f.c.i. è
m + n ≤ K − 1 + d + (K − 1) · (d − 1) = d + (K − 1) · d = K · d.
2