DM PDF
DM PDF
n Weka 3
¨ Pachet software ce include algoritmi de data
Introducere în Data Mining mining
¨ Open Source
¨ Scris in limbajul Java
¨ [Link]
Preprocesarea Datelor 3
2 No Casatorit 1000 No
n Atribute continue – valorile sunt exprimate prin 3 No Necasatorit 700 No
9 No Casatorit 750 No
n Graf
¨ World Wide Web
timeout
season
coach
game
score
team
ball
lost
play
¨ Structurile Moleculare
win
n Ordonate
¨ Date spatiale
¨ Date Temporale
¨ Date secventiale
¨ Genetic Sequence Data
Data Warehouse 3
Data Marts
t
2Qtr 3Qtr
uc
n Un data warehouse utilizează un model model multidimensional de date în care datele sunt 1Qtr 4Qtr
TV
od
organizate sub foma unui cub n-dimensional (hypercub) U.S.A
PC
Pr
VCR
Country
n Un data cub (eng. data cube) permite modelarea si vizualizarea datelor în dimensiuni
multiple. El este definit de dimensiuni şi fapte. sum
Canada
n Dimensiunile sunt perspectivele sau entitățile unei organizatii pentru care dorim să păstram
înregistrări
Mexico
n Faptele sunt măsuri numerice ce pot fi văzute ca niște cantități utilizate pentru a analiza
relațiile dintre dimensiuni
n În literatura de specialitate, un cub n-dimesional se numeste cuboid de bază. Cuboidul 0-
sum
dimensional, care retine cel mai inalt nivel de sumaziare, se numeste apex cuboid (cuboid
vârf). Laticea de cubizi formează un data cub.
time
Schema stea time
Schema Constelatie
item time_key item Shipping Fact Table
time_key day item_key
day item_key day_of_the_week Sales Fact Table time_key
item_name
day_of_the_week Sales Fact Table item_name month brand
month quarter time_key item_key
time_key brand type
year supplier_type
quarter type shipper_key
item_key item_key
year supplier_type
branch_key from_location
branch_key
branch location branch location_key to_location
location_key location
branch_key location_key branch_key location_key dollars_cost
units_sold
branch_name units_sold street branch_name street
city branch_type dollars_sold city
units_shipped
branch_type dollars_sold
state_or_province province_or_state
avg_sales country shipper
avg_sales country
Measures shipper_key
Measures shipper_name
Data Warehouse 14
location_key
shipper_type
Măsuri într-un Data Cub Operatii OLAP in Modelul Multidimensional
Clasificarea măsurilor
n Distributive: daca rezultatul obtinut prin aplicarea functiei asupra a n partitii
de valori ce le dorim agregate este acelasi cu cel obtinut prin aplicarea
functiei tuturor valorilor fara a fi partitionate
n Ex, count(), sum(), min(), max()
n Algebrice: daca ele pot fi calculate ca o funcție algerică cu M argumente
(unde M este un întreg pozitiv), argumente obtinute prin aplicarea unei
functii de agregare distributive
n Ex., avg()=sum()/count(), standard_deviation()
n Holistice: nu există nici o funcție algebrică cu M argumente care să
descrie calculul ei
n Ex., median(), mode(), rank()
n Un task data mining este o formă de analiză ce se poate efectua asupra unor date
¨ Cunoştinţe apriorii
¨ Măsuri de relevanţă
¨ Modalităţi de vizualizare
display as <result_form>
n OLAP:
¨ este restricţionat la un număr de dimensiuni, agregările
realizându-se în general asupra atributelor numerice
¨ Este un proces controlat de user
Descrierea Conceptelor 3
n Datele sunt memorate într-un data cub n A fost propusă în 1989 (KDD ‘89 workshop)
n Nu este limitata la date categoriale şi nici la măsuri specifice.
n Se identifică calcule ce necesită efort de calcul mare
n Cum se realizează?
¨ e.x., count( ), sum( ), average( ), max( ) ¨ Se extrag datele relevante task-ului utilizând interogari specifice bazelor de
n Se efectuează aceste calcule și se memorează date relaţionale
¨ Se efectuează generalizarea prin eliminarea de atribute sau prin generalizarea
rezultatele în data cuburi atributelor
n Generalizarea şi specializarea poate fi efectuată prin ¨ Realizarea agregărilor prin unirea tuplurilor identice sau generalizarilor
operații de roll-up şi drill-down asupra cubului cumulându-se numărul acestora
¨ Prezetarea interactivă utilizatorului
n Constituie o modalitate eficientă de generalizare
Mihai Gabroveanu
1 Introducere
Tranzacţii - Reprezentare
Tranzacţie
O mulţime de itemi T ⊆ I, căreia ı̂i asociem un identificator unic
TID.
Regulă de Asociere
Regulă de asociere
Fie X şi Y două itemset-uri. O regulă de asociere este o
implicaţie de forma X ⇒ Y , unde X ⊂ I, Y ⊂ I, şi X ∩ Y = ∅.
Semnificaţia
Dacă o tranzacţie conţine pe X , atunci ea va conţine de asemenea
şi pe Y
Un itemset ce are suportul mai mare decat un prag minim dat se numeste itemset
frecvent.
Mihai Gabroveanu Reguli de Asociere
Concepte de bază
Introducere
Determinarea itemseturilor frecvente
Clasificarea regulilor de asociere
Algoritmul Apriori
Reguli de asociere boolene
Generarea regulilor de asociere
Suportul Relativ
Definim suportul relativ sau simplu suportul ca fiind procentul tranzacţiilor din DB
care conţin atât itemset-ul X cât şi itemset-ul Y (probabilitatea ca ambele itemset-uri
X respectiv Y să apară ı̂mpreună ı̂n DB.
|DX ∩ DY | |DX ∪Y |
supp(X ⇒ Y ) = = = P(X ∪ Y ) (12)
|DB| |DB|
Suportul Absolut
Definim suportul absolut al regulii de asociere X ⇒ Y ca fiind numărul de tranzacţii
din DB care conţin atât itemset-ul X cât şi itemset-ul Y .
Confidenţa
Definim confidenţa regulii de asociere X ⇒ Y ca proporţia (procentul) de tranzacţii
ce conţin itemset-ul X din DB care conţin de asemenea şi itemset-ul Y (probabilitatea
condiţionată a lui Y dându-se X , P(Y /X )):
|DX ∩ DY |
conf (X ⇒ Y ) = = P(Y /X ) (14)
|DX |
Semnificaţie: 66% din clienţi au cumpărat oua şi lapte ı̂n acelaşi timp
Confidenţa
Proprietatea Apriori
Dacă itemsetul X este frecvent ı̂n DB, atunci orice subitemset Y ⊆ X
nevid este de asemenea frecvent ı̂n DB.
Algoritmi: AIS, Apriori, FP-growth
Mihai Gabroveanu Reguli de Asociere
Concepte de bază
Introducere
Determinarea itemseturilor frecvente
Clasificarea regulilor de asociere
Algoritmul Apriori
Reguli de asociere boolene
Generarea regulilor de asociere
Laticea itemseturilor
Mihai Gabroveanu Reguli de Asociere
Concepte de bază
Introducere
Determinarea itemseturilor frecvente
Clasificarea regulilor de asociere
Algoritmul Apriori
Reguli de asociere boolene
Generarea regulilor de asociere
Brute-force
Algoritmul Apriori
Algoritmul Apriori propus de Agrawal şi Srikant ı̂n 1994 este unul dintre
cei mai populari algoritmi pentru determinarea itemseturilor frecvente.
Lemma (Proprietatea Apriori)
Dacă itemsetul X este frecvent ı̂n DB, atunci orice subitemset Y ⊆ X
nevid este de asemenea frecvent ı̂n DB.
Demonstraţie.
Fie X un itemset frecvent. Presupunem prin reducere la absurd că itemsetul Y ⊆ X
nu este frecvent. Atunci, acest lucru ı̂nseamnă că numărul de tranzacţii care conţin pe
Y este mai mic decât frecvenţa minimă.
Deoarece X este obţinut din Y prin adaugarea de itemi, atunci numărul de tranzacţii
care ı̂l conţin pe X este mai mic sau egal decât numărul de tranzacţii care ı̂l conţin pe
Y . Prin urmare, frecvenţa itemsetului X este mai mică decât frecvenţa minimă, adică
X nu este un itemset frecvent. Acest rezultat contrazice presupunerea iniţială, deci Y
este un itemset frecvent.
Algoritmul Apriori
Corollary
Dacă un k-itemset conţine un (k − 1)-itemset cere nu este frecvent,
atunci el nu este frecvent.
În continuare vom nota cu Lk mulţimea tuturor k-itemseturilor frecvente,
si cu Ck mulţimea tuturor k-itemseturilor candidate la a fi frecvente.
1
Un hashtree este o structură de date organizată sub forma unui arbore ı̂n
care fiecare nod este o tabelă de dispersie (hash table).
Mihai Gabroveanu Reguli de Asociere
Concepte de bază
Introducere
Determinarea itemseturilor frecvente
Clasificarea regulilor de asociere
Algoritmul Apriori
Reguli de asociere boolene
Generarea regulilor de asociere
Algoritmul Apriori
INPUT:
DB : baza de date cu tranzacţiile
minsup: pragul de suport minim
OUTPUT:
L: mulţimea itemseturilor frecvente din DB.
METHOD:
1: L = ∅
2: C1 = {{i}|i ∈ I}
3: k = 1
4: while (Ck 6= ∅) do
5: //calculăm suportul absolut pentru fiecare itemset candidat
6: for all tranzaction T ∈ DB do
7: for all candidate X ∈ Ck do
8: if X ⊆ T then
9: X .count + +
10: end if
11: end for
12: end for
13: Lk = {X ∈ Ck |X .count ≥ minsup × |DB|}
14: L = L ∪ Lk
15: k++
16: Ck = apriori gen(Lk−1 , minsup)
17: end while
18: return L
Algoritmul Apriori
INPUT: Lk−1 : mulţimea (k − 1)-itemseturilor frecvente
OUTPUT: Ck : mulţimea k-itemseturilor candidate
procedure apriori gen(Lk , minsup)
1: Ck = ∅
2: for all (k − 1)-itemset X = {x1 , . . . , xk−1 } ∈ Lk−1 do
3: for all (k − 1)-itemset Y = {y1 , . . . , yk−1 } ∈ Lk−1 do
4: if x1 = y1 ∧ · · · ∧ xk−2 = yk−2 ∧ xk−1 < yk−1 then
5: //pasul de unire
6: Z = {x1 , . . . , xk−1 , yk−1 }
7: //pasul de reducere
8: has infrequent subset = false
9: for all (k − 1)-itemset Z 0 ⊂ Z do
10: if (Z 0 ∈
/ Lk−1 ) then
11: has infrequent subset = true
12: break
13: end if
14: end for
15: if not has infrequent subset then
16: Ck = Ck ∪ Z
17: end if
18: end if
19: end for
20: end for
21: return Ck
Mihai Gabroveanu Reguli de Asociere
Concepte de bază
Introducere
Determinarea itemseturilor frecvente
Clasificarea regulilor de asociere
Algoritmul Apriori
Reguli de asociere boolene
Generarea regulilor de asociere
Itemset Frecvenţa
{I1 , I2 } 3
{I1 , I3 } 4 Itemset Frecvenţa
{I1 , I4 } 2 {I1 , I2 } 3
{I1 , I5 } 1 {I1 , I3 } 4
Generam C2 {I2 , I3 } 3 comparam frecventa cu {I1 , I4 } 2
−−−−−−−→ −
−−−−−−−−−−−−
→
din L1 {I2 , I4 } 1 suportul minim=2 {I2 , I3 } 3
{I2 , I5 } 1 {I3 , I4 } 3
{I3 , I4 } 3 {I3 , I5 } 2
{I3 , I5 } 2 (d) L2
{I4 , I5 } 1
(c) C2
Itemset Frecvenţa
Generam C3
Itemset Frecvenţa
{I1 , I2 , I3 } 2 comparam frecventa cu
−−−−−−−→ −
−−−−−−−−−−−−
→ {I1 , I2 , I3 } 2
din L2 {I1 , I3 , I4 } 1 suportul minim=2
(f) L3
(e) C3
Numărul de candidaţi
Lungimea itemseturilor candidate
Brute-force Apriori (suport absolut minim=2)
1 5 5
2 10 10
3 10 2
4 5 0
5 1 0
Considerăm itemsetul frecvent Z = {I1 , I2 , I3 } generat pentru baza de date considerata in exemplul anterior. În
tabelul urmator sunt prezentate toate regulile de asociere care pot fi generate din itemsetul frecvent Z . Însă, nu
toate sunt reguli de asociere tari.
Dacă stabilim pragul de confidenţă minim la 50%, atunci regulile de asociere tari obţinute din Z sunt următoarele:
Mihai Gabroveanu
Cuprins
3 Concluzii
Reguli de asociere cantitative Reguli de asociere fuzzy Concluzii
Intr-o bază de date atributele nu au numai valori binare, ele pot fi şi
numerice sau nominale
Regulile de asociere cantitative au fost introduse in 1996 de
Agrawal, R. and Srikant, R. ı̂n articolul Mining quantitative
association rules in large relational tables
Problema determinării regulilor cantitative se reduce la determinarea
regulilor de asociere boolene prin partitionarea valorilor fiecărui
atribut ı̂n intervale si maparea ı̂n intervalul corespunzător.
Multime Fuzzy
Fie U o mulţime de obiecte. O multime fuzzy F ı̂n universul U
este o mulţime de perechi ordonate F = {(u, µF (u))/u ∈ U}, unde
µF (u) : U → [0, 1] iar µF (u) este gradul de apartenenţă a lui u la
F.
Reguli de asociere cantitative Reguli de asociere fuzzy Concluzii
Fuzzy Itemset
Numim fuzzy itemset perechea hX , FX i , unde X ⊆ I, iar FX este o
mulţime de mulţimi fuzzy asociate atributelor/itemilor din X .
k-Fuzzy Itemset
Un fuzzy itemset hX , FX i ı̂n care numărul de atribute din X este k se
numeşte k-fuzzy itemset.
Reguli de asociere cantitative Reguli de asociere fuzzy Concluzii
Semnificaţia intuitivă
Dacă o tranzacţie (tuplu) satisface proprietatea X ∈ FX atunci
sunt şanse mari ca ea să satisfacă şi Y ∈ FY .
Reguli de asociere cantitative Reguli de asociere fuzzy Concluzii
1 DB = {t1 , t2 , t3 , t4 , t5 , t6 },
2 I = {Varsta, Venit, Greutate}
TID Varsta Venit Greutate
1 25 2000 68 3 FVarsta =
2 31 4000 80
3 40 5000 96
{tanar , varsta − medie, batran}
4 50 6000 90
5 60 3000 80 4 FVenit = {mic, mediu, mare}
6 58 2000 70
Baza de date 5 FGreutate = {slab, mediu, gras}
Exemplu
Dacă Vârsta este medie şi Venit-ul este mare atunci conform
Greutăţii este gras
Măsura Suport
unde
µaj (ti [xj ]), if µaj (ti [xj ]) ≥ ω
αaj (ti [xj ]) =
0, altfel
iar ω un prag minim dat pentru funcţia de apartenenţă.
Măsura Suport
.
Reguli de asociere cantitative Reguli de asociere fuzzy Concluzii
Masura de Confidenţă
unde Z = {X , Y } şi FZ = {X , Y }.
Pentru ω = 0.1, fuzzy suportul regulii h{Varsta, Venit}, {batran, mediu}i ⇒ h{Greutate}, {gras}i este:
Algoritmul FuzzyApriori
INPUT:
DB: baza de date
I: mulţimea de atribute
Fi1 , . . . , Fim : mulţimile de mulţimi fuzzy asociate atributelor din I
minsup: pragul de suport minim
ω: pragul minim pentru funcţia de apartenenţă
OUTPUT:
L: mulţimea fuzzy itemseturilor frecvente din DB.
METHOD:
1: L = ∅
2: C1 = {h{ik }, {Fijk }i|ik ∈ I, Fijk ∈ Fik }
3: k = 1
4: while Ck 6= ∅ do
5: //calculăm fuzzy suport count-ul pentru fiecare fuzzy itemset candidat
6: for all transaction t ∈ D do
7: for all candidate hX , Ai ∈ Ck , X = {x1 , . . . , xk }, A = {a1 , . . . , ak } do
8:
Q
FShX ,Ai += x ∈X αaj (ti [xj ])
j
9: end for
10: end for
11: Lk ={hX , Ai ∈ Ck |FShX ,Ai ≥ minsup × |D|}
12: L = L ∪ Lk
13: k++
14: Ck = fuzzy apriori gen(Lk−1 )
15: end while
16: return L
Reguli de asociere cantitative Reguli de asociere fuzzy Concluzii
INPUT:
DB: baza de date cu tranzacţiile
minconf : pragul de confidenţă minim
L: mulţimea fuzzy itemseturilor frecvente din DB
OUTPUT:
<: mulţimea regulilor de asociere fuzzy tari din DB.
function generate strong fuzzy rules(L,minconf ;<)
1: <=∅
2: for all frequent fuzzy itemset hZ , FZ i ∈ L do
3: for all subset X ⊂ Z , X 6= ∅ do
4: if FShX ,F i⇒hZ \X ,F
X Z \X i ≥ minconf then
Concluzii
Clasificare şi Predicţie 3
no yes no yes
Analiza Clusterelor 3
Exemplu
Similaritatea/Disimilaritarea dintre obiecte (cont.)
n Sunt generalizari ale variabilelor boolene ce iau mai mult de 2 n Variabilele Ratio-scaled: masuratoare pe o scala
stari, ex., rosu, galben, albastru, verde nonlineara, similara cu o scala exponentiala,
n Metoda 1: Potrivirea simpla precum AeBt sau Ae-Bt
¨ p: nr total de variabile, m: nr de protriviri (cele 2 obiecte au aceiasi stare)
n Metode:
d ( i , j ) = p −p m
¨ Tratarea precum variabilele interval—nu este o alegere
buna! (de ce? – scala poate fi distorsionata)
n Metoda 2: Trasformarea in variabile binare simetrice
¨ Aplicarea unei transformari logaritmice
¨ Crearea unei variabile binare pentru fiecare din valorile unui atributul
nominal yif = log(xif)
¨ Tratarea lor ca valori ordinale continue tratand rangul lor cao
17 19
Analiza Clusterelor
valoare interval-scaled
Analiza Clusterelor
¨
f
Domeniul de valori al fiecarei variabile se mapeaza in [0, 1] inlocuind variabila f a obiectului
Σ p
f = 1
( f )
ij
δ
I cu r if − 1 ¨ Daca f este atribut binar sau ordinal:
z = d ij(f) = 0 daca x if = xjf , altfel dij(f) = 1 o.w.
if
M f
− 1
¨ Daca f este un atribut interval-based atunci acestea vor fi normalizate
¨ Se calculeaza disimilaritatea dintre obiecte utilizand metodele pentru variablele interval-
¨ Daca f este un atribut ordinal sau ratio-scaled
scaled
n Se calculeaza ragul rif si
z if =
r if −1
M f −1
Analiza Clusterelor 21
Algoritmi de Partitionare
Algoritmi de Clustering 3
¨ mi este media clusterului Ci n PAM functioneaza cu date de dimensiuni mici deoarece are o complexitate mare
n Partitionarea se face incercand minimizarea sumei disimilaritatilor dintre fiecare obiect al unui cluster si
n Algoritmul poate fi aplicat numai pentru obiecte caracterizate medoidul corespunzator
de atribute numerice E = Σ ik=1Σ p∈Ci dist ( p, oi )
n Este sensibil la “outliers” care influenteaza mediile n Variante imbunatatite PAM
n Complexitate O(t·k·n), unde n =nr de obiecte, k =nr clustere, si ¨ CLARA (Kaufmann & Rousseeuw, 1990): PAM pe esationane
t este numarul de iteratii. In mod normal, k, t << n ¨ CLARANS (Ng & Han, 1994)
7
7 7 n Output: O multime de k clustere ce minimizeaza suma disimilaritatilor tuturor
6 6
6
5
5 5 obiectelor fata de medoidul asociat fiecarui cluster
4 4
4
Asignam Recalculam
3
3
centroizi
3
n Metoda
fiecare
2 2
2
1 1
1
obiect 0
(mediile 0
1. Se aleg arbritrar k obiecte reprezentative ale clusterelor – medoizi initiali
0
centroid
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9 10
clusterelor) 2. REPETA
ului cel
mai Repetam reasignam 3. asigneaza fiecare obiect ramas clusterului cu medoidul cel mai apropiat
apropiat 10 10
4. selecteaza aleator un obiect non-medoid Orandom
K=2 9 9
8 8
5. calculeaza costul total S al schimbarii obiectului medoid Oj cu Orandom
Se aleg arbritar K 7 7
clusterelor 4 Recalculam 4
3 centroizi 3
7. PANA CAND nu se mai modifica clusterele
2
(mediile 2
1 1
0
clusterelor) 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
9 9 9
7
Se aleg
8
7
Asigneaza
8
7
n Metode bazate pe ierarhii de divizare
6 6 6
arbritar k fiecare
5
4 obiecte –
5
4 obiect
5
4
¨ Strategia top-down: initial toate obiectele
medoizi ramas
formeaza un singur cluster si apoi acesta e divizat
3 3 3
2
initiali 2
medoidului 2
1 1 1
celui mai
0
0 1 2 3 4 5 6 7 8 9 10
0
0 1 2 3 4 5 6 7 8 9 10 apropriat
0
0 1 2 3 4 5 6 7 8 9 10 in clustere din ce in ce mai mici pana cand fiecare
Se selecteaza aleator
K=2
un nonmedoid,Oramdom
obiect formeaza un singur cluster sau s-a ajuns la
Total Cost = 26
10 10
numarul de clustere dorit
REPETA 9
8 Calculeaza
9
8
Schimba O cu
Oramdom
7
costul 7
PANA nu se 6
5 schimbari
6
5
Daca calitatea 4 4
mai schimba se 3
2
3
2
imbunatateste 1 1
0 0
9 11
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Algoritmi de Clustering Algoritmi de Clustering
9
Algoritmi de Clustering 13
Descrierea Problemei
n Se considera o baza de date D cu tranzactiile
Minarea Paternurilor clienţilor
n Fiecare tranzactie e caracterizata prin:
Secvenţiale ¨ Customer-ID = identificatorul clientului
¨ Transaction-Time = momentul de timp la care a fost efectuata tranzactia
¨ Multimea de produse din acea tranzactie
n Cantitatile produselor cumparate sunt considerate neimportante
n Un client cu acelasi ID nu poate efectua in acelasi timp mai multe
tranzactii
n Se pune problema identificarii paternurilor secventiale din
baza de date considerata
¨ Regulile de Asociere: se referă la produse ce sunt n Rakesh Agrawal, Ramakrishnan Srikant, 1995
cumparate împreună (în acelasi timp, în aceeaşi tranzacţie) n Itemset : O multime nevida de itemi: i=(i1, i2 … )
n Paternuri intra-tranzactie ¨ Putem presupune ca acesti itemi pot fi mapati într-o multime de
¨ Paternurile Secventiale: se refera la produse cumparate numere intregi contiguă.
într-o anumita ordine la momente de timp diferite n Secventa : O lista ordonata de itemseturi s=< s1 s2 … sn>
n Paternuri inter-trazactie ¨ Secventa Inclusa : O secventa <a1 a2 … an> este inclusa in secventa
<b1 b2 … bm> daca exista i1 < i2 < … < in astfel incat a1⊆ bi1, a2 ⊆ bi2
n Exemplu: o persoană care a cumpărat filmul Star Wars, a cumparat
… an ⊆ bi .
apoi Empire Strikes Back, apoi Return of the Jedi; între aceste n
cumparaturi persoana respectiva e posibil sa mai fi cumparat si alte n Ex: secventa <(3) (4,5) (8)> ⊆<(7)(3,8)(9)(4,5,6) (8)>
filme, iar în cadrul tranzacţiilor respective este posibil sa mai fi n Lungimea unei secvente: numarul de itemseturi din secventa
cumpărat şi alte produse.
n k-secventa: secventa de lungime k.
4 July 25 '93 90 Obs: (10 20) a fost eliminata neindeplinind pragul de suport minim.
(40 60 70) este inlocuita cu multimea de litemseturi {(40),(70),(40 70)} (60 nu are minsup)
5 June 12 '93 90
11
Minarea Paternurilor Secvenţiale 9 Minarea Paternurilor Secvenţiale 11
Notatie:
Large Secvente Lk: Multimea large k-secventelor
Ck: Multimea k-secventelor candidate
AprioriAll (Exemplu)
Minisup = 40%
L1 L2 L3
Secentele cumparator
1-Seq Sup 2-Seq Sup 3-Seq Sup
<{1 5} {2} {3} {4} > <1> 4 <1 2> 2 <1 2 3> 2
<{1} {3} {4} {3 5}> <2> 2 <1 3> 4 <1 2 4> 2
<3> 4 <1 4> 3 <1 3 4> 3
<{1} {2} {3} {4}>
<4> 4 <1 5> 3 <1 3 5> 2
<{1} {3} {5}>
<5> 4 <2 3> 2 <2 3 4> 2
<{4} {5}> <2 4> 2 <3 4 5> 1
<3 4> 3 L4
<3 5> 2 4-Seq Sup
<4 5> 2 <1 2 3 4> 2
Answer: <1 2 3 4>, <1 3 5>, <4 5>
<2 5> 0