73
Introducere ˆ ın Data Mining Analiza asocierilor: concepte de baz˘ a Lucian Sasu, Ph.D. Universitatea Transilvania din Bra¸ sov, Facultatea de Matematic˘ si Informatic˘ a April 5, 2012 [email protected] (UNITBV) Curs 6 April 5, 2012 1 / 73

Curs 6 Data Mining

Embed Size (px)

Citation preview

Page 1: 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

Page 2: Curs 6 Data Mining

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

Page 3: Curs 6 Data Mining

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

Page 4: Curs 6 Data Mining

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

Page 5: Curs 6 Data Mining

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

Page 6: Curs 6 Data Mining

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

Page 7: Curs 6 Data Mining

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

Page 8: Curs 6 Data Mining

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

Page 9: Curs 6 Data Mining

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

Page 10: Curs 6 Data Mining

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

Page 11: Curs 6 Data Mining

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

Page 12: Curs 6 Data Mining

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

Page 13: Curs 6 Data Mining

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

Page 14: Curs 6 Data Mining

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

Page 15: Curs 6 Data Mining

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

Page 16: Curs 6 Data Mining

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

Page 17: Curs 6 Data Mining

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

Page 18: Curs 6 Data Mining

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

Page 19: Curs 6 Data Mining

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

Page 20: Curs 6 Data Mining

Exemplu de aplicare

Figure: Generarea multimilor frecvente folosind principiul Apriori

[email protected] (UNITBV) Curs 6 April 5, 2012 20 / 73

Page 21: Curs 6 Data Mining

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

Page 22: Curs 6 Data Mining

Pseudocodul pentru algoritmul Apriori

[email protected] (UNITBV) Curs 6 April 5, 2012 22 / 73

Page 23: Curs 6 Data Mining

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

Page 24: Curs 6 Data Mining

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

Page 25: Curs 6 Data Mining

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

Page 26: Curs 6 Data Mining

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

Page 27: Curs 6 Data Mining

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

Page 28: Curs 6 Data Mining

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

Page 29: Curs 6 Data Mining

Reprezentarea multimilor candidati ın arbore de dispersie

[email protected] (UNITBV) Curs 6 April 5, 2012 29 / 73

Page 30: Curs 6 Data Mining

Reprezentarea multimilor candidati ın arbore de dispersie

[email protected] (UNITBV) Curs 6 April 5, 2012 30 / 73

Page 31: Curs 6 Data Mining

Reprezentarea multimilor candidati ın arbore de dispersie

[email protected] (UNITBV) Curs 6 April 5, 2012 31 / 73

Page 32: Curs 6 Data Mining

Generarea 3-submultimilor unei tranzactii

[email protected] (UNITBV) Curs 6 April 5, 2012 32 / 73

Page 33: Curs 6 Data Mining

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

Page 34: Curs 6 Data Mining

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

Page 35: Curs 6 Data Mining

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

Page 36: Curs 6 Data Mining

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

Page 37: Curs 6 Data Mining

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

Page 38: Curs 6 Data Mining

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

Page 39: Curs 6 Data Mining

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

Page 40: Curs 6 Data Mining

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

Page 41: Curs 6 Data Mining

Generarea regulilor: strategie de retezare

Figure: Retezarea regulilor aplicand teorema 2

[email protected] (UNITBV) Curs 6 April 5, 2012 41 / 73

Page 42: Curs 6 Data Mining

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

Page 43: Curs 6 Data Mining

Generarea regulilor ın algoritmul Apriori

[email protected] (UNITBV) Curs 6 April 5, 2012 43 / 73

Page 44: Curs 6 Data Mining

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

Page 45: Curs 6 Data Mining

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

Page 46: Curs 6 Data Mining

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

Page 47: Curs 6 Data Mining

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

Page 48: Curs 6 Data Mining

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

Page 49: Curs 6 Data Mining

Multimi frecvente maximale vs. frecvente ınchise

[email protected] (UNITBV) Curs 6 April 5, 2012 49 / 73

Page 50: Curs 6 Data Mining

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

Page 51: Curs 6 Data Mining

Relatia ıntre diferite tipuri de multimi

[email protected] (UNITBV) Curs 6 April 5, 2012 51 / 73

Page 52: Curs 6 Data Mining

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

Page 53: Curs 6 Data Mining

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

Page 54: Curs 6 Data Mining

Metode alternative pentru generarea de multimi frecvente

[email protected] (UNITBV) Curs 6 April 5, 2012 54 / 73

Page 55: Curs 6 Data Mining

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

Page 56: Curs 6 Data Mining

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

Page 57: Curs 6 Data Mining

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

Page 58: Curs 6 Data Mining

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

Page 59: Curs 6 Data Mining

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

Page 60: Curs 6 Data Mining

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

Page 61: Curs 6 Data Mining

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

Page 62: Curs 6 Data Mining

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

Page 63: Curs 6 Data Mining

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

Page 64: Curs 6 Data Mining

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

Page 65: Curs 6 Data Mining

Alte functii obiective de masurare a gradului de interes

Figure: Masuri [email protected] (UNITBV) Curs 6 April 5, 2012 65 / 73

Page 66: Curs 6 Data Mining

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

Page 67: Curs 6 Data Mining

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

Page 68: Curs 6 Data Mining

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

Page 69: Curs 6 Data Mining

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

Page 70: Curs 6 Data Mining

Distributii oblice

Figure: Distributie oblica pentru setul de date textcolorbluePUMS census data

[email protected] (UNITBV) Curs 6 April 5, 2012 70 / 73

Page 71: Curs 6 Data Mining

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

Page 72: Curs 6 Data Mining

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

Page 73: Curs 6 Data Mining

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