Curs 6 Data Mining

Preview:

Citation preview

Introducere ın Data MiningAnaliza asocierilor: concepte de baza

Lucian Sasu, Ph.D.

Universitatea Transilvania din Brasov, Facultatea de Matematica si Informatica

April 5, 2012

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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}

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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)

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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)

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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 )

lucian.sasu@ieee.org (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!

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 19 / 73

Exemplu de aplicare

Figure: Generarea multimilor frecvente folosind principiul Apriori

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 21 / 73

Pseudocodul pentru algoritmul Apriori

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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)

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 28 / 73

Reprezentarea multimilor candidati ın arbore de dispersie

lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 29 / 73

Reprezentarea multimilor candidati ın arbore de dispersie

lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 30 / 73

Reprezentarea multimilor candidati ın arbore de dispersie

lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 31 / 73

Generarea 3-submultimilor unei tranzactii

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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.

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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)

lucian.sasu@ieee.org (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.

lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 40 / 73

Generarea regulilor: strategie de retezare

Figure: Retezarea regulilor aplicand teorema 2

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 42 / 73

Generarea regulilor ın algoritmul Apriori

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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.

lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 48 / 73

Multimi frecvente maximale vs. frecvente ınchise

lucian.sasu@ieee.org (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}

lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 50 / 73

Relatia ıntre diferite tipuri de multimi

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 53 / 73

Metode alternative pentru generarea de multimi frecvente

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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 ).

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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]

lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 64 / 73

Alte functii obiective de masurare a gradului de interes

Figure: Masuri propuselucian.sasu@ieee.org (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 regulilucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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:

lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 69 / 73

Distributii oblice

Figure: Distributie oblica pentru setul de date textcolorbluePUMS census data

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (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)]

lucian.sasu@ieee.org (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

lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 73 / 73

Recommended