Download - Curs 6 Data Mining
Introducere ın Data MiningAnaliza asocierilor: concepte de baza
Lucian Sasu, Ph.D.
Universitatea Transilvania din Brasov, Facultatea de Matematica si Informatica
April 5, 2012
[email protected] (UNITBV) Curs 6 April 5, 2012 1 / 73
Outline
1 Notiuni, definirea problemei
2 Generarea multimilor frecvente
3 Generarea regulilor
4 Reprezentarea compacta a multimilor frecvente
5 Metode alternative pentru generarea de multimi frecvente
6 Evaluarea regulilor de asociere
7 Efectul distributiei oblice
[email protected] (UNITBV) Curs 6 April 5, 2012 2 / 73
Notiuni
In cadrul vanzarilor din magazine se ınregistreaza continutul cosurilorde cumparaturi achizitionate = tranzactiiProblema: pentru un set de tranzactii sa se determine regulile caredau predispozitia aparitiei unui obiect pe baza existentei altor obiecteıntr-un cosExemplu de tranzactii:
TID Obiecte
1 {paine, lapte}2 {paine, scutece, bere, oua}3 {lapte, scutece, bere, suc}4 {paine, lapte, scutece, bere}5 {paine, lapte, scutece, suc}
Table: Tranzactii de tip cos de cumparaturi
TID = Transaction IDExemplu de regula ce se poate extrage: {scutece} −→ {bere}
[email protected] (UNITBV) Curs 6 April 5, 2012 3 / 73
Notiuni
Regula sugereaza ca ar exista o relatie de dependenta ıntre vanzareade scutece si cea de bere
Remarca: regula data este directionala; nu ınseamna neaparat si ca{bere} −→ {scutece}
Moduri de exploatare a unor astfel de reguli:
se scade pretul obiectelor din antecedentul regulii, se creste pretul celordin consecventse face cross-sellingse decide dispunerea pe raft a produselorse face reclama sau oferta personalizata, gruparea produselor ıncataloage de prezentare
Alte medii de aplicare: bioinformatica, diagnostic medical, webmining, analiza stiintifica a datelor
[email protected] (UNITBV) Curs 6 April 5, 2012 4 / 73
Notiuni
Probleme:
descoperirea de pattern–uri ın seturi mari de date este o problemaintensiva computational
o parte din relatiile descoperite pot fi pur si simplu rodul ıntamplarii
evaluarea regulilor obtinute este un pas absolut necesar
semnul de implicatie ın acest context ınseamna aparitie concomitenta,nu cauzalitate
de citit: Correlation does not imply causation (Wikipedia)
[email protected] (UNITBV) Curs 6 April 5, 2012 5 / 73
Notiuni, definitii
Posibil mod de reprezentare a tranzactiilor:
TID Paine Lapte Scutece Bere Oua suc
1 1 1 0 0 0 0
2 1 0 1 1 1 0
3 0 1 1 1 0 1
4 1 1 1 1 0 0
5 1 1 1 0 0 1
Table: Reprezentare binara a datelor tranzactiei
Reprezentarea binara este asimetrica: prezenta unui produs este maiimportanta decat lipsa lui
Reprezentare voit simplista, omitand cantitatea de achizitie
[email protected] (UNITBV) Curs 6 April 5, 2012 6 / 73
Notiuni, definitii
Multime de produse (simplu: multime; eng: itemset) — colectie deunul sau mai multe obiecte
k–multime (eng: k-itemset) — o multime compusa din k obiecte(produse)
Numarul de suport al unei multimi σ(·) (eng: support count) —frecventa de aparitie a acelei multimi
σ(X ) = |{ti : X ⊆ ti , ti ∈ T}| unde T este multimea tuturortranzactiilor, |U| este numarul de elemente (cardinalul) al multimii U
Exemplu: σ({lapte, paine, scutece}) = 2
[email protected] (UNITBV) Curs 6 April 5, 2012 7 / 73
Notiuni, definitii
Regula de asociere (regula): o expresie de forma X −→ Y unde X , Ysunt multimi de produse, X ∩ Y = ∅
Definitie (Suportul unei reguli)
Suportul regulii X −→ Y pentru o multime de N tranzactii este fractia de
tranzactii care contin produsele din X ∪ Y :
s(X −→ Y ) =σ(X ∪ Y )
N(1)
Definitie (Confidenta unei reguli)
Confidenta regulii X −→ Y este numarul de tranzactii care contin pe X si
Y raportat la cele care contin doar pe X :
c(X −→ Y ) =σ(X ∪ Y )
σ(X )(2)
[email protected] (UNITBV) Curs 6 April 5, 2012 8 / 73
Notiuni, definitii
Exemplu: pentru datele din tabelul de mai josTID Obiecte
1 {paine, lapte}2 {paine, scutece, bere, oua}3 {lapte, scutece, bere, suc}4 {paine, lapte, scutece, bere}5 {paine, lapte, scutece, suc}
Consideram regula {lapte, scutece} −→ {bere}
Numarul de suport pentru {lapte, scutece, bere} este 2; numarul totalde tranzactii este 5, deci suportul este 2/5
Confidenta: sunt 3 tranzactii care contin {lapte, scutece}, deciconfidenta este 2/3
[email protected] (UNITBV) Curs 6 April 5, 2012 9 / 73
Notiuni, definitii
De ce se foloseste suportul?
o regula cu suport mic poate ınsemna o legatura ıntamplatoareo regula cu suport mic s–ar putea sa fie neprofitabilasuportul poate elimina regulile neinteresante
De ce se foloseste confidenta?
masoara ıncrederea ın rezultatul aplicarii unei regulipentru regula X −→ Y o confidenta mare arata ın ce masura aparitiamultimii X va duce la aparitia multimii Yc(X −→ Y ) poate fi interpretata ca probabilitatea conditionataP(Y |X )
[email protected] (UNITBV) Curs 6 April 5, 2012 10 / 73
Notiuni, definitii
Definitie (Descoperirea relatiilor de asociere)
Dandu–se o multime de tranzactii T , sa se gaseasca toate regulile cu
suport ≥ minsup si confidenta conf ≥ minconf , unde minsup si minconf
sunt praguri date.
Abordare brute-force:
se genereaza toate regulile de asociere posibile
se calculeaza suportul si confidenta fiecarei reguli
se elimina regulile care nu respecta pragurile minconf si minsup date
Complexitate de calcul prohibitiva: numarul de reguli pentru d
produse este:R = 3d − 2d+1 + 1
(tema pentru acasa)
Pentru cele 6 produse din tranzactiile date am avea 602 reguli; pentruminsup = 20% si minconf = 50%, mai mult de 80% din regulilegenerate sunt eliminate!
[email protected] (UNITBV) Curs 6 April 5, 2012 11 / 73
Pasi de lucru
Observatie importanta: suportul regulii X −→ Y depinde doar denumarul suport al multimii X ∪ Y
Pentru multimea {bere, scutece, lapte} se pot genera 6 reguli:{bere, scutece} −→ {lapte}, {bere} −→ {scutece, lapte} etc.; toateacestea au acelasi suport, indiferent de partitionarea ınantecedent/consecvent
Daca o multime nu este frecventa, atunci toate regulile ce se potconstrui pe baza ei pot fi eliminate fara a le mai calcula confidenta
Concluzie: se poate decupla calculul suportului si al confidentei
Pasii de lucru:1 generarea multimilor frecvente, i.e. al celor pentru care suportul este
cel putin minsup2 generarea regulilor pe baza multimilor frecvente
[email protected] (UNITBV) Curs 6 April 5, 2012 12 / 73
Outline
1 Notiuni, definirea problemei
2 Generarea multimilor frecvente
3 Generarea regulilor
4 Reprezentarea compacta a multimilor frecvente
5 Metode alternative pentru generarea de multimi frecvente
6 Evaluarea regulilor de asociere
7 Efectul distributiei oblice
[email protected] (UNITBV) Curs 6 April 5, 2012 13 / 73
Problema generarii multimilor frecvente
Generarea multimilor frecvente este solicitanta computational: pentru omultime de k produse se pot realiza 2k − 1 potentiale multimi frecvente(se exclude ∅)
Figure: Latice de multimi
[email protected] (UNITBV) Curs 6 April 5, 2012 14 / 73
Varianta brute-force:
Fiecare multime candidat din latice este considerat ca un candidat demultime frecventa
Se calculeaza numarul suport al fiecarui candidat prin scanarea bazeide date
Daca un candidat e inclus ıntr–o tranzactie se incrementeaza numarulsuport
Figure: Diferiti parametri ai datelor de intrare
[email protected] (UNITBV) Curs 6 April 5, 2012 15 / 73
Complexitate si remedii
Complexitate: O(NMw) unde: N = numarul de tranzactii,M = 2k − 1 este numarul de multimi candidat, w este numarulmaxim de obiecte dintr-o tranzactie
Modalitati de reducere a complexitatii:
reducerea numarului de multimi candidat M – de exemplu prinprincipiul Apriorireducerea numarului de comparatii la confruntarea unei multimi cu otranzactie prin structuri de date eficiente
[email protected] (UNITBV) Curs 6 April 5, 2012 16 / 73
Principiul Apriori
Teorema (Principiul Apriori)
Daca un set este frecvent, atunci oricare din subseturile sale este de
asemenea frecvent.
Demonstratie: Pentru o tranzactie care contine multimea de obiecteX = {c , d , e} este evident ca ea contine si oricare din submultimile lui X :{c , d}, {c , e} etc. Mai mult, pentru o submultime a lui X poate exista otranzactie care sa o contina, dar sa nu contina si pe X . Astfel, numarulsuport pentru o submultime a lui X este cel putin numarul suport al lui X .
teorema afirma ca:
∀X ,Y : (X ⊆ Y ) ⇒ s(X ) ≥ s(Y )
adica o proprietate de anti-monotonie a suportului
[email protected] (UNITBV) Curs 6 April 5, 2012 17 / 73
Eliminarea multimilor infrecvente
Contrapozitia teoremei este utila pentru a face eliminarea multimilorcare nu pot fi frecvente: Daca un set nu este frecvent, atunci oricare
superset al lui nu poate sa fie frecvent.
Figure: Retezarea multimilor infrecvente
[email protected] (UNITBV) Curs 6 April 5, 2012 18 / 73
Strategie
Se porneste cu 1-multimi formate din cate un obiect
1-multimile nefrecvente se elimina
Se genereaza 2-multimi combinand 1-multimi frecvente
Pentru 2-multimile generate se calculeaza suportul; cele nefrecventese elimina
Se continua procedeul pentru 3-multimi etc.
Pe baza principiului Apriori, pentru generarea k-multimilor frecventecandidat se iau ın considerare doar (k − 1)-multimile frecvente
[email protected] (UNITBV) Curs 6 April 5, 2012 19 / 73
Exemplu de aplicare
Figure: Generarea multimilor frecvente folosind principiul Apriori
[email protected] (UNITBV) Curs 6 April 5, 2012 20 / 73
Schita algoritmului Apriori
k = 1
Se genereaza 1-multimi frecvente
Repeta pana cand nu se mai pot identifica multimi frecvente:
se genereaza (k + 1)-multimi candidat folosind k-multimile frecventede la pasul anteriorse sterg (k + 1)-multimile candidat care contin k-multimi infrecvente(cu suportul sub prag)se contorizeaza suportul fiecarei (k + 1)−multimi prin parcurgereatranzactiilorse sterg (k + 1)-multimile candidat care nu sunt frecvente
[email protected] (UNITBV) Curs 6 April 5, 2012 21 / 73
Pseudocodul pentru algoritmul Apriori
[email protected] (UNITBV) Curs 6 April 5, 2012 22 / 73
Probleme ce trebuie rezolvate eficient pentru Apriori
Generarea multimilor candidat si retezarea
1 generarea de k-multimi folosind (k − 1)-multimi frecvente2 eliminarea candidatilor care nu au suportul peste pragul impus
Calculul numarului suportul al unei multimi
[email protected] (UNITBV) Curs 6 April 5, 2012 23 / 73
Generarea multimilor candidat (var 1)
Generarea multimilor candidat:
orice algoritm trebuie sa evite generarea de prea multe multimi candidattrebuie sa asigure generarea unei familii complete de multimi candidattrebuie sa evite generarea aceleiasi multimi candidat de mai multe ori({a, b, c} poate proveni din {a, b} ∪ {c} sau din {a} ∪ {b, c} etc.)
Sunt mai multi algoritmi ın aceasta directie
Metoda fortei brute:
Se considera fiecare posibilitate de a obtine o k-multimeSe elimina candidatii cu suport prea micGenerarea e simpla, calculul suportului pentru fiecare candidat estecostisitorComplexitatea metodei: O(d · 2d−1)
[email protected] (UNITBV) Curs 6 April 5, 2012 24 / 73
Generarea multimilor candidat (var 2)
Metoda Fk−1 × F1:
se pleaca de la fiecare (k − 1)-multime frecventa si se extinde cuobiecte (1-multimi) frecventeprocedeul e completse poate ajunge la generarea multipla a aceleiasi k-multimievitare: fiecare multime este mentinuta sortata lexicografic: {a, b, c} sinu {b, a, c} sau altfelextinderea unei multimi Fk−1 = {ob1, ob2, . . . , obk−1} se face numai cumultimi F1 = {x} unde obk−1 < x
complexitate: O(∑
kk |Fk−1||F1|)
ınca se pot genera prea multe k-multimi candidat
[email protected] (UNITBV) Curs 6 April 5, 2012 25 / 73
Generarea multimilor candidat (var 3)
Metoda Fk−1 × Fk−1:
se reunesc doua (k − 1)-multimi doar daca primele k − 2 elemente dinele sunt identice (se presupune ordinea lexicografica):mai clar: daca A = {a1, a2, . . . ak−1} si B = {b1, b2, . . . bk−1} suntdoua (k − 1)-multimi, atunci ele se reunesc doar daca:
ai = bi , ∀i = 1, . . . , k − 2, ak−1 6= bk−1
este varianta propusa ın articolul ce introduce algoritmul Apriori
[email protected] (UNITBV) Curs 6 April 5, 2012 26 / 73
Reducerea numarului de comparatii
Varianta brute force: se scaneaza toata baza de date pentru adetermina valoarea suport a fiecarei multimi candidat
Posibil, dar neeficient
Pentru a reduce numarul de comparatii stocam candidatii ıntr–unarbore de dispersie (hash tree)Rezultat: ın loc de a compara fiecare tranzactie cu fiecare multimecandidat, se compara fiecare tranzactie cu grupuri de candidati dinarbore; se vor actualiza doar valorile suport pentru multimi candidatdin grupurile gasite
[email protected] (UNITBV) Curs 6 April 5, 2012 27 / 73
Crearea arborelui de dispersie, exemplu
Consideram functia de dispersie h(p) = p mod 3Impunem restrictia ca ıntr–un nod frunza sa nu avem mai mult de 3multimi reprezentate; daca este cazul, un nod va fi fragmentat ınnoduri copilPresupunem ca avem multimile candidat: {1, 4, 5}, {1, 2, 4}, {4, 5, 7},{1, 2, 5}, {4, 5, 8}, {1, 5, 9}, {1, 3, 6}, {2, 3, 4}, {5, 6, 7}, {3, 4, 5},{3, 5, 6}, {3, 5, 7}, {6, 8, 9}, {3, 6, 7}, {3, 6, 8},Reprezentarea ın arbore de dispersie:
Figure: Arbore de dispersie pentru familia de multimi candidat
[email protected] (UNITBV) Curs 6 April 5, 2012 28 / 73
Reprezentarea multimilor candidati ın arbore de dispersie
[email protected] (UNITBV) Curs 6 April 5, 2012 29 / 73
Reprezentarea multimilor candidati ın arbore de dispersie
[email protected] (UNITBV) Curs 6 April 5, 2012 30 / 73
Reprezentarea multimilor candidati ın arbore de dispersie
[email protected] (UNITBV) Curs 6 April 5, 2012 31 / 73
Generarea 3-submultimilor unei tranzactii
[email protected] (UNITBV) Curs 6 April 5, 2012 32 / 73
Cautarea potrivirilor ıntre tranzactii si multimi candidat
Figure: Se ia in considerare primul obiect al unei posibile 3-multimi ce seregaseste in tranzactie
[email protected] (UNITBV) Curs 6 April 5, 2012 33 / 73
Cautarea potrivirilor ıntre tranzactii si multimi candidat
Figure: Se ia in considerare al doilea obiect al unei posibile 3-multimi ce seregaseste in tranzactie
[email protected] (UNITBV) Curs 6 April 5, 2012 34 / 73
Cautarea potrivirilor ıntre tranzactii si multimi candidat
Figure: Se ia in considerare al treilea obiect al unei posibile 3-multimi ce seregaseste in tranzactie
[email protected] (UNITBV) Curs 6 April 5, 2012 35 / 73
Complexitatea computationala a generarii de multimifrecvente
Factorii care influenteaza complexitatea generarii:
Alegerea valorii de minsup
micsorarea lui minsup duce la mai multe multimi declarate ca frecvente
Numarul de obiecte din setul de date
poate duce la marirea cardinalului maxim de multime frecventadaca numarul de multimi frecvente creste si el atunci atat efortulcomputational cat si costul I/O creste
Dimensiunea bazei de date
fiecare tranzactie se compara cu multimile candidat; numar mare detranzactii ⇒ timp crescut pentru eliminarea multimilor candidatnefrecvente
[email protected] (UNITBV) Curs 6 April 5, 2012 36 / 73
Complexitatea computationala a generarii de multimifrecvente
Generarea 1-multimilor frecvente: O(Nw)
Generarea multimilor candidat:w∑
k=2
(k−2)|Ck | < costul unific. a 2 k − 1-multimi <w∑
k=2
(k−2)|Fk−1|2
Eliminarea de multimi candidat infrecvente:
O
(
w∑
k=2
k(k − 2)|Ck |
)
Calcularea suportului
O
(
N∑
k
C k
wαk
)
unde αk este costul actualizarii unei k-multimi din arborele dedispersie.
[email protected] (UNITBV) Curs 6 April 5, 2012 37 / 73
Outline
1 Notiuni, definirea problemei
2 Generarea multimilor frecvente
3 Generarea regulilor
4 Reprezentarea compacta a multimilor frecvente
5 Metode alternative pentru generarea de multimi frecvente
6 Evaluarea regulilor de asociere
7 Efectul distributiei oblice
[email protected] (UNITBV) Curs 6 April 5, 2012 38 / 73
Generarea regulilor
Enunt: dandu–se o multime frecventa L, sa se gaseasca toatesubmultimile nevide f ⊂ L astfel ıncat regula f −→ L− f sa aibaconfidenta minima ceruta
Pentru multimea frecventa {A,B ,C ,D} regulile candidat ce se potobtine sunt: ABC −→ D, ABD −→ C , ACD −→ B ,BCD −→ A,A −→ BCD,B −→ ACD,C −→ ABD,D −→ ABCAB −→ CD,AC −→ BD, AD −→ BC ,BC −→ AD,BD −→ AC , CD −→ AB
Pentru k = |L| sunt 2k − 2 reguli care se pot genera (ignoram regulilecu antecedent sau consecvent nul)
[email protected] (UNITBV) Curs 6 April 5, 2012 39 / 73
Generarea regulilor
Nu avem nicio proprietate de tip (anti)monotonie pentru confidentaregulilor
Pentru o regula X −→ Y si X ⊂ X , Y ⊂ Y nu avem nicio relatiepermanent valabila ıntre c(X −→ Y ) si c(X −→ Y )
Dar avem o teorema ⌣
Teorema
Daca o regula X −→ Y − X nu satisface conditia de confidenta minima
c(X −→ Y −X ) ≥ minconf atunci nicio regula X ′ −→ Y −X ′ cu X ′ ⊂ X
nu va avea nici ea confidenta minima.
Demonstratie: pentru regulile X ′ −→ Y −X ′ si X −→ Y −X confidentelesunt s1 = σ(Y )/σ(X ′) respectiv s2 = σ(Y )/σ(X ). Pentru X ′ ⊂ X avemca σ(X ′) ≥ σ(X ). Ca atare, s1 ≤ s2 si deci prima regula nu poate avea oconfidenta mai mare decat a doua.
[email protected] (UNITBV) Curs 6 April 5, 2012 40 / 73
Generarea regulilor: strategie de retezare
Figure: Retezarea regulilor aplicand teorema 2
[email protected] (UNITBV) Curs 6 April 5, 2012 41 / 73
Retezarea regulilor ın algoritmul Apriori
Se genereaza toate regulile care au doar un element ın antecedent
Se combina reguli care au ceva comun ın sufix: de exemplu, din{a, c , d} −→ {b} si {a, b, d} −→ {c} se genereaza {a, d} −→ {b, c}
Se fac eliminarile de reguli conform teoremei 2
[email protected] (UNITBV) Curs 6 April 5, 2012 42 / 73
Generarea regulilor ın algoritmul Apriori
[email protected] (UNITBV) Curs 6 April 5, 2012 43 / 73
Outline
1 Notiuni, definirea problemei
2 Generarea multimilor frecvente
3 Generarea regulilor
4 Reprezentarea compacta a multimilor frecvente
5 Metode alternative pentru generarea de multimi frecvente
6 Evaluarea regulilor de asociere
7 Efectul distributiei oblice
[email protected] (UNITBV) Curs 6 April 5, 2012 44 / 73
Reprezentarea compacta a multimilor frecvente
Numarul de multimi frecvente poate sa fie prohibitiv
Se poate identifica o familie reprezentativa de multimi frecvente dincare se pot obtine toate celelalte multimi frecvente
Variante: multimi frecvente maximale si multimi frecvente ınchise
[email protected] (UNITBV) Curs 6 April 5, 2012 45 / 73
Multimi frecvente maximale
Definitie
O multime frecventa maximala este o multime frecventa pentru care toate
superseturile imediate sunt infrecvente.
(superset imediat al lui X este multime X ∪ {y}, y 6∈ X )
Figure: Familia de multimi frecvente maximale este reprezentata cu verde
[email protected] (UNITBV) Curs 6 April 5, 2012 46 / 73
Utilitatea multimilor frecvente maximale
Toate multimile frecvente sunt generate de multimile frecventemaximale
Ex: multimile frecvente din figura anterioara sunt ıntr-una dinsituatiile:
1 multimi care ıncep cu litera a si contin c , d sau e2 multimi care ıncep cu b, c , d sau e.
Exista algoritmi care pot exploata eficient multimile frecventemaximale, fara a genera toate submultimile
Problema: multimile frecvente maximale nu dau o modalitate decalcul al suportului submultimilor frecvente pe care le genereaza
[email protected] (UNITBV) Curs 6 April 5, 2012 47 / 73
Multimi frecvente ınchise
Definitie (Multimi ınchise)
O multime X este ınchisa daca niciunul din superseturile imediate ale sale
nu are acelasi suport ca ea.
Definitie (Multimi frecvente ınchise)
O multime X este frecventa ınchisa daca este ınchisa si frecventa.
[email protected] (UNITBV) Curs 6 April 5, 2012 48 / 73
Multimi frecvente maximale vs. frecvente ınchise
[email protected] (UNITBV) Curs 6 April 5, 2012 49 / 73
Utilitatea multimilor frecvente ınchise
Set de tranzactii:
3 grupuri: {A1, . . . ,A5}, {B1, . . . ,B5}, {C1, . . . ,C5}
Pentru minsup = 20% avem numar total de multimi frecvente = 93
Dar exista doar 3 multimi frecvente ınchise: {A1, . . . ,A5},{B1, . . . ,B5}, {C1, . . . ,C5}
[email protected] (UNITBV) Curs 6 April 5, 2012 50 / 73
Relatia ıntre diferite tipuri de multimi
[email protected] (UNITBV) Curs 6 April 5, 2012 51 / 73
Outline
1 Notiuni, definirea problemei
2 Generarea multimilor frecvente
3 Generarea regulilor
4 Reprezentarea compacta a multimilor frecvente
5 Metode alternative pentru generarea de multimi frecvente
6 Evaluarea regulilor de asociere
7 Efectul distributiei oblice
[email protected] (UNITBV) Curs 6 April 5, 2012 52 / 73
Metode alternative pentru generarea de multimi frecvente
Apriori este unul din primii algoritmi eficienti care evita exploziacombinatoriala a generarii seturilor frecventePrincipiul de baza: retezarea conform teoremei de la pagina 40Deficienta: numarul mare de operatii de I/ODeficienta: pentru seturile de tranzactii dense performanta scade multMetode alternative: “de la general la specific”, “de la specific lageneral”, cautare bidirectionalaIdeea de baza: determinarea multimilor frecvente este o problema decautare ın graful laticii multimilor
[email protected] (UNITBV) Curs 6 April 5, 2012 53 / 73
Metode alternative pentru generarea de multimi frecvente
[email protected] (UNITBV) Curs 6 April 5, 2012 54 / 73
Metode alternative pentru generarea de multimi frecvente
“De la general la specific”: ın stilul algoritmului Apriori, de la o(k − 1)-multime se ajunge la o k-multime; strategia e buna dacalungimea maxima a unei multimi frecvente nu este prea mare
“De la specific la general”: se poate adapta principiul Apriori
Cautare bidirectionala: combinatie a precedentelor doua, necesita maimulta memorie, dar permite determinarea rapida a zonei de delimitare
[email protected] (UNITBV) Curs 6 April 5, 2012 55 / 73
Metode alternative pentru generarea de multimi frecvente
Clase de echivalenta: se partitioneaza multimea nodurilor din latice ınclase de echivalenta; se trece la o alta partitie numai cand s–aterminat de explorat partitia curenta
Exemple de partitionare: arbori de tip prefix/sufix
[email protected] (UNITBV) Curs 6 April 5, 2012 56 / 73
Metode alternative pentru generarea de multimi frecvente
Cautarea “mai ıntai ın latime”: algoritmul Apriori functioneaza astfel,trecand la k-multimi numai dupa ce s–au epuizat toate(k − 1)-multimileCautarea ın adancime este o varianta folosita pentru a determinamultimile frecvente maximaleOdata gasita o multime maximala, se poate face retezare
Figure: Parcugeri alternative
[email protected] (UNITBV) Curs 6 April 5, 2012 57 / 73
Outline
1 Notiuni, definirea problemei
2 Generarea multimilor frecvente
3 Generarea regulilor
4 Reprezentarea compacta a multimilor frecvente
5 Metode alternative pentru generarea de multimi frecvente
6 Evaluarea regulilor de asociere
7 Efectul distributiei oblice
[email protected] (UNITBV) Curs 6 April 5, 2012 58 / 73
Problema evaluarii asocierilor
Algoritmii pot duce la producerea unui numar mare de reguli
Multe pot fi neinteresante sau redundante
Exemplu de redundanta: daca regulile {A,B ,C} −→ {D} si{A,B} −→ {D} au acelasi suport si confidenta
Se pot folosi functii de masurare a gradului de interes care sa reduca/sorteze regulile
In cele prezentate pana acum, doar suportul si confidenta erauconsiderate
[email protected] (UNITBV) Curs 6 April 5, 2012 59 / 73
Schema unui proces de extragere de cunostinte
Figure: Pasii unui proces de extragere de cunostinte. Postprocesarea contineevaluarea regulilor
[email protected] (UNITBV) Curs 6 April 5, 2012 60 / 73
Moduri de cuantificare al gradului de interes
Functii obiective:
folosesc statistici derivate din date pentru a determina gradul de interessuport, confidenta, corelatie
Functii subiective:
se refera la grad de interes pentru cunoasterea umanaexemplu: {unt} −→ {paine} este de asteptat si deci neinteresant; dar{scutece} −→ {bere} este ceva surprinzatormodalitati de ıncorporare a subiectivismului:
vizualizare
filtrare bazata pe sabloane
ierarhie de concepte
[email protected] (UNITBV) Curs 6 April 5, 2012 61 / 73
Masura obiectiva a interesului
Masura obiectiva: modalitate dependenta de date
Necesita interventie minima din partea utilizatorului
Punct de plecare pentru diferite masuri, pe perechi de variabile binare:tabel de contingenta
Y Y TotalX f11 f10 f1+X f01 f00 f0+
Total f+1 f+0 N
Table: Tabel de contingenta pentru regula X −→ Y . O valoare de forma (·)reprezinta lipsa obiectului asociat ın tranzatie. f1+ (f+1) reprezinta valoareasuport pentru X (respectiv Y ).
[email protected] (UNITBV) Curs 6 April 5, 2012 62 / 73
Limitari ale cuplului suport-confidenta
Consideram studiul legaturii ıntre cei care beau ceai sau cafea:
Cafea Cafea TotalCeai 150 50 200
Ceai 650 150 800Total 800 200 1000
Table: Preferinte de consum.
Consideram regula: {Ceai} −→ {Cafea}: suport 15%, confidenta75%
Remarcam ınsa ca procentul celor care beau cafea este de 80%, maimult decat confidenta anterioara
Deci regula {Ceai} −→ {Cafea} da o indicatie gresita fata de stareaactuala a datelor; stiind ca o persoana bea ceai, asta va scadea sansaei ca sa bea cafea
Cauza: masura de confidenta ignora suportul multimii consecvent
[email protected] (UNITBV) Curs 6 April 5, 2012 63 / 73
Alte functii obiective de masurare a gradului de interes
factor de ridicare (eng: lift)
lift(A −→ B) =c(A −→ B)
s(B)
interes:
I (A,B) =s(A,B)
s(A) · s(B):
= 1 pentru A si B independente
> 1 pentru A si B pozitiv corelate
< 1 pentru A si B negativ corelate
corelatia Pearson pentru variabile binare:
φ =f11f00 − f01f10√
f1+f+1f0+f+0
∈ [−1, 1]
[email protected] (UNITBV) Curs 6 April 5, 2012 64 / 73
Alte functii obiective de masurare a gradului de interes
Figure: Masuri [email protected] (UNITBV) Curs 6 April 5, 2012 65 / 73
Sortarea pe baza diferitelor functii
Pe baza functiilor se pot face ordonari ale regulilorOrdinea poate sa difere de la o functie de interes la alta
Figure: 10 exemple de tabele de contingenta
Figure: Sortarea pe baza diferitelor [email protected] (UNITBV) Curs 6 April 5, 2012 66 / 73
Proprietati ale functiilor obiective
De vazut din bibliografie:
Proprietatea de inversiune
Proprietatea de adaugare nula
Proprietatea de scalare
De citit: paradoxul lui Simpson si necesitatea stratificarii datelor ınainteaextragerii de reguli
[email protected] (UNITBV) Curs 6 April 5, 2012 67 / 73
Outline
1 Notiuni, definirea problemei
2 Generarea multimilor frecvente
3 Generarea regulilor
4 Reprezentarea compacta a multimilor frecvente
5 Metode alternative pentru generarea de multimi frecvente
6 Evaluarea regulilor de asociere
7 Efectul distributiei oblice
[email protected] (UNITBV) Curs 6 April 5, 2012 68 / 73
Distributii oblice
Uneori datele au urmatoarea forma: foarte multe obiecte cu suportmic, putine cu suport mare
O atare distributie este puternic neechilibrata (eng: skewed) si nupoate fi tratata uniform
Daca pragul minsup este ales prea mic atunci algoritmul Apriori (sauoricare altul) poate genera excesiv de multe multimi frecvente ⇒consum mare de memorie, posibil relatii ıntamplatoare
Daca minsup este prea mare se pot rata niste reguli utile
exemplu: bijuterii - se cumpara rar ın comparatie cu alte produse, darprofitul adus e considerabil
Pentru setul de date Public Use Microarray Sample census datadistributia datelor este:
[email protected] (UNITBV) Curs 6 April 5, 2012 69 / 73
Distributii oblice
Figure: Distributie oblica pentru setul de date textcolorbluePUMS census data
[email protected] (UNITBV) Curs 6 April 5, 2012 70 / 73
Distributii oblice
Daca se lasa valoare minsup mica, atunci o multime poate sa combineobiecte cu suport mare si mic
Obiectele din multime ınsa pot avea o corelatie mica
Atfel de multimi se numesc sabloane cu suport ıncrucisat (eng:cross-support patterns)
Pentru minsup = 0.05% avem 18847 perechi frecvente, din care 93%sunt cu obiecte din G1 si G3; corelatia maxima este ınsa 0.029 - preaputin
Chiar marirea pragului minconf poate fi inefectiva; consecventul uneireguli poate avea suport mare deci sabloane cu suport ınclucisat potınca sa apara
[email protected] (UNITBV) Curs 6 April 5, 2012 71 / 73
Distributii oblice
Definitie (Sabloane cu suport ıncrucisat)
Un sablon cu suport ıncrucisat este o multime X = {i1, i2, . . . , ik} pentru
care raportul suporturilor
r(X ) =min[s(i1), s(i2), . . . , s(ik)]
max[s(i1), s(i2), . . . , s(ik)](3)
este mai mic decat un prag specificat de utilizator hc .
Un alt mod de detectare a sabloanelor cu suport ıncrucisat: seexamineaza confidenta minima care se poate extrage dintr–o multimedata, i.e. masura h-confidenta:
s (i1, i2, . . . , ik)
max [s(i1), s(i2), . . . , s(ik)]
[email protected] (UNITBV) Curs 6 April 5, 2012 72 / 73
Distributii oblice
Criteriul de eliminare a unui sablon ıncrucisat X : sablonul se eliminadaca
h − confidenta(X ) ≤min[s(i1), s(i2), . . . , s(ik)]
max[s(i1), s(i2), . . . , s(ik)]≤ hc
Valoarea peste hc a h-confidentei ne asigura ca obiectele din multimesunt puternic corelate ıntre ele
[email protected] (UNITBV) Curs 6 April 5, 2012 73 / 73