Documente Academic
Documente Profesional
Documente Cultură
April 5, 2012
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
1 / 73
Outline
1 2 3 4 5 6 7
Not iuni, denirea problemei Generarea mult imilor frecvente Generarea regulilor Reprezentarea compact a a mult imilor frecvente Metode alternative pentru generarea de mult imi frecvente Evaluarea regulilor de asociere Efectul distribut iei oblice
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
2 / 73
Not iuni
In cadrul v anz arilor din magazine se nregistreaz a cont inutul co surilor de cump ar aturi achizit ionate = tranzact ii Problem a: pentru un set de tranzact ii s a se determine regulile care dau predispozit ia aparit iei unui obiect pe baza existent ei altor obiecte ntr-un co s Exemplu de tranzact ii: TID Obiecte 1 {p aine, lapte} 2 {p aine, scutece, bere, ou a} {lapte, scutece, bere, suc} 3 4 {p aine, lapte, scutece, bere} 5 {p aine, lapte, scutece, suc}
Table: Tranzact ii de tip co s de cump ar aturi
Not iuni
Regula sugereaz a c a ar exista o relat ie de dependent a ntre v anzarea de scutece si cea de bere Remarc a: regula dat a este direct ional a; nu nseamn a neap arat si c a {bere } {scutece } Moduri de exploatare a unor astfel de reguli:
se scade pret ul obiectelor din antecedentul regulii, se cre ste pret ul celor din consecvent se face cross-selling se decide dispunerea pe raft a produselor se face reclam a sau ofert a personalizat a, gruparea produselor n cataloage de prezentare
Alte medii de aplicare: bioinformatic a, diagnostic medical, web mining, analiza stiint ic a a datelor
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
4 / 73
Not iuni
Probleme: descoperirea de patternuri n seturi mari de date este o problem a intensiv a computat ional o parte din relat iile descoperite pot pur si simplu rodul nt ampl arii evaluarea regulilor obt inute este un pas absolut necesar semnul de implicat ie n acest context nseamn a aparit ie concomitent a, nu cauzalitate de citit: Correlation does not imply causation (Wikipedia)
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
5 / 73
Reprezentarea binar a este asimetric a: prezent a unui produs este mai important a dec at lipsa lui Reprezentare voit simplist a, omit and cantitatea de achizit ie
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
6 / 73
Mult ime de produse (simplu: mult ime; eng: itemset) colect ie de unul sau mai multe obiecte k mult ime (eng: k -itemset) o mult ime compus a din k obiecte (produse) Num arul de suport al unei mult imi () (eng: support count) frecvent a de aparit ie a acelei mult imi (X ) = |{ti : X ti , ti T }| unde T este mult imea tuturor tranzact iilor, |U | este num arul de elemente (cardinalul) al mult imii U Exemplu: ({lapte , paine , scutece }) = 2
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
7 / 73
(X Y ) (X )
April 5, 2012
(2)
8 / 73
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
9 / 73
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
10 / 73
Pa si de lucru
Observat ie important a: suportul regulii X Y depinde doar de num arul suport al mult imii X Y Pentru mult imea {bere , scutece , lapte } se pot genera 6 reguli: {bere , scutece } {lapte }, {bere } {scutece , lapte } etc.; toate acestea au acela si suport, indiferent de partit ionarea n antecedent/consecvent Dac a o mult ime nu este frecvent a, atunci toate regulile ce se pot construi pe baza ei pot eliminate f ar a a le mai calcula condent a Concluzie: se poate decupla calculul suportului si al condent ei Pa sii de lucru:
1
generarea mult imilor frecvente, i.e. al celor pentru care suportul este cel put in minsup generarea regulilor pe baza mult imilor frecvente
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
12 / 73
Outline
1 2 3 4 5 6 7
Not iuni, denirea problemei Generarea mult imilor frecvente Generarea regulilor Reprezentarea compact a a mult imilor frecvente Metode alternative pentru generarea de mult imi frecvente Evaluarea regulilor de asociere Efectul distribut iei oblice
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
13 / 73
Varianta brute-force:
Fiecare mult ime candidat din latice este considerat ca un candidat de mult ime frecvent a Se calculeaz a num arul suport al ec arui candidat prin scanarea bazei de date Dac a un candidat e inclus ntro tranzact ie se incrementeaz a num arul suport
Complexitate si remedii
Complexitate: O (NMw ) unde: N = num arul de tranzact ii, M = 2k 1 este num arul de mult imi candidat, w este num arul maxim de obiecte dintr-o tranzact ie Modalit a ti de reducere a complexit a tii:
reducerea num arului de mult imi candidat M de exemplu prin principiul Apriori reducerea num arului de comparat ii la confruntarea unei mult imi cu o tranzact ie prin structuri de date eciente
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
16 / 73
Principiul Apriori
Teorem a (Principiul Apriori)
Dac a un set este frecvent, atunci oricare din subseturile sale este de asemenea frecvent. Demonstrat ie: Pentru o tranzact ie care cont ine mult imea de obiecte X = {c , d , e } este evident c a ea cont ine si oricare din submult imile lui X : {c , d }, {c , e } etc. Mai mult, pentru o submult ime a lui X poate exista o tranzact ie care s a o cont in a, dar s a nu cont in a si pe X . Astfel, num arul suport pentru o submult ime a lui X este cel put in num arul suport al lui X . teorema arm a c a: X , Y : ( X Y ) s ( X ) s ( Y ) adic a o proprietate de anti-monotonie a suportului
lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 17 / 73
Strategie
Se porne ste cu 1-mult imi formate din c ate un obiect 1-mult imile nefrecvente se elimin a Se genereaz a 2-mult imi combin and 1-mult imi frecvente Pentru 2-mult imile generate se calculeaz a suportul; cele nefrecvente se elimin a Se continu a procedeul pentru 3-mult imi etc. Pe baza principiului Apriori, pentru generarea k -mult imilor frecvente candidat se iau n considerare doar (k 1)-mult imile frecvente
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
19 / 73
Exemplu de aplicare
k =1 Se genereaz a 1-mult imi frecvente Repet a p an a c and nu se mai pot identica mult imi frecvente:
se genereaz a (k + 1)-mult imi candidat folosind k -mult imile frecvente de la pasul anterior se sterg (k + 1)-mult imile candidat care cont in k -mult imi infrecvente (cu suportul sub prag) se contorizeaz a suportul ec arei (k + 1)mult imi prin parcurgerea tranzact iilor se sterg (k + 1)-mult imile candidat care nu sunt frecvente
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
21 / 73
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
22 / 73
generarea de k -mult imi folosind (k 1)-mult imi frecvente eliminarea candidat ilor care nu au suportul peste pragul impus
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
23 / 73
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
24 / 73
Metoda Fk 1 F1 :
se pleac a de la ecare (k 1)-mult ime frecvent a si se extinde cu obiecte (1-mult imi) frecvente procedeul e complet se poate ajunge la generarea multipl a a aceleia si k -mult imi evitare: ecare mult ime este ment inut a sortat a lexicograc: {a, b , c } si nu {b , a, c } sau altfel extinderea unei mult imi Fk 1 = {ob1 , ob2 , . . . , obk 1 } se face numai cu mult imi F1 = {x } unde obk 1 < x complexitate: O ( k k |Fk 1 ||F1 |) nc a se pot genera prea multe k -mult imi candidat
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
25 / 73
Metoda Fk 1 Fk 1 :
se reunesc dou a (k 1)-mult imi doar dac a primele k 2 elemente din ele sunt identice (se presupune ordinea lexicograc a): mai clar: dac a A = {a1 , a2 , . . . ak 1 } si B = {b1 , b2 , . . . bk 1 } sunt dou a (k 1)-mult imi, atunci ele se reunesc doar dac a: ai = bi , i = 1, . . . , k 2, ak 1 = bk 1
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
26 / 73
Pentru a reduce num arul de comparat ii stoc am candidat ii ntrun arbore de dispersie (hash tree) Rezultat: n loc de a compara ecare tranzact ie cu ecare mult ime candidat, se compar a ecare tranzact ie cu grupuri de candidat i din arbore; se vor actualiza doar valorile suport pentru mult imi candidat din grupurile g asite
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
27 / 73
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
29 / 73
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
30 / 73
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
31 / 73
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
32 / 73
April 5, 2012
33 / 73
Factorii care inuent eaz a complexitatea gener arii: Alegerea valorii de minsup
mic sorarea lui minsup duce la mai multe mult imi declarate ca frecvente
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
36 / 73
(k 2)|Fk 1 |2
O
k =2
k (k 2)|Ck |
Calcularea suportului O N
k k Cw k
unde k este costul actualiz arii unei k -mult imi din arborele de dispersie.
lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 37 / 73
Outline
1 2 3 4 5 6 7
Not iuni, denirea problemei Generarea mult imilor frecvente Generarea regulilor Reprezentarea compact a a mult imilor frecvente Metode alternative pentru generarea de mult imi frecvente Evaluarea regulilor de asociere Efectul distribut iei oblice
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
38 / 73
Generarea regulilor
Enunt : d anduse o mult ime frecvent a L, s a se g aseasc a toate submult imile nevide f L astfel nc at regula f L f s a aib a condent a minim a cerut a Pentru mult imea frecvent a {A, B , C , D } regulile candidat ce se pot obt ine 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 (ignor am regulile cu 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 condent a regulilor
X, Y Y nu avem nicio relat Pentru o regul a X Y si X ie Y ) permanent valabil a ntre c (X Y ) si c (X
Teorem a
Dac a o regul a X Y X nu satisface condit ia de condent a minim a c (X Y X ) minconf atunci nicio regul a X Y X cu X X nu va avea nici ea condent a minim a. Demonstrat ie: pentru regulile X Y X si X Y X condent ele sunt s1 = (Y )/ (X ) respectiv s2 = (Y )/ (X ). Pentru X X avem c a (X ) (X ). Ca atare, s1 s2 si deci prima regul a nu poate avea o condent a mai mare dec at a doua.
lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 40 / 73
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
41 / 73
Se genereaz a toate regulile care au doar un element n antecedent Se combin a reguli care au ceva comun n sux: de exemplu, din {a, c , d } {b } si {a, b , d } {c } se genereaz a {a, d } {b , c } Se fac elimin arile de reguli conform teoremei 2
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
42 / 73
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
43 / 73
Outline
1 2 3 4 5 6 7
Not iuni, denirea problemei Generarea mult imilor frecvente Generarea regulilor Reprezentarea compact a a mult imilor frecvente Metode alternative pentru generarea de mult imi frecvente Evaluarea regulilor de asociere Efectul distribut iei oblice
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
44 / 73
Num arul de mult imi frecvente poate s a e prohibitiv Se poate identica o familie reprezentativ a de mult imi frecvente din care se pot obt ine toate celelalte mult imi frecvente Variante: mult imi frecvente maximale si mult imi frecvente nchise
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
45 / 73
Toate mult imile frecvente sunt generate de mult imile frecvente maximale Ex: mult imile frecvente din gura anterioar a sunt ntr-una din situat iile:
1 2
mult imi care ncep cu litera a si cont in c , d sau e mult imi care ncep cu b , c , d sau e .
Exist a algoritmi care pot exploata ecient mult imile frecvente maximale, f ar a a genera toate submult imile Problem a: mult imile frecvente maximale nu dau o modalitate de calcul al suportului submult imilor frecvente pe care le genereaz a
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
47 / 73
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
48 / 73
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
49 / 73
3 grupuri: {A1, . . . , A5}, {B 1, . . . , B 5}, {C 1, . . . , C 5} Pentru minsup = 20% avem num ar total de mult imi frecvente = 93 Dar exist a doar 3 mult imi frecvente nchise: {A1, . . . , A5}, {B 1, . . . , B 5}, {C 1, . . . , C 5}
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
50 / 73
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
51 / 73
Outline
1 2 3 4 5 6 7
Not iuni, denirea problemei Generarea mult imilor frecvente Generarea regulilor Reprezentarea compact a a mult imilor frecvente Metode alternative pentru generarea de mult imi frecvente Evaluarea regulilor de asociere Efectul distribut iei oblice
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
52 / 73
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
53 / 73
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
54 / 73
De la general la specic: n stilul algoritmului Apriori, de la o (k 1)-mult ime se ajunge la o k -mult ime; strategia e bun a dac a lungimea maxim a a unei mult imi frecvente nu este prea mare De la specic la general: se poate adapta principiul Apriori C autare bidirect ional a: combinat ie a precedentelor dou a, necesit a mai mult a memorie, dar permite determinarea rapid a a zonei de delimitare
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
55 / 73
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
56 / 73
Outline
1 2 3 4 5 6 7
Not iuni, denirea problemei Generarea mult imilor frecvente Generarea regulilor Reprezentarea compact a a mult imilor frecvente Metode alternative pentru generarea de mult imi frecvente Evaluarea regulilor de asociere Efectul distribut iei oblice
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
58 / 73
Algoritmii pot duce la producerea unui num ar mare de reguli Multe pot neinteresante sau redundante Exemplu de redundant a: dac a regulile {A, B , C } {D } si {A, B } {D } au acela si suport si condent a Se pot folosi funct ii de m asurare a gradului de interes care s a reduc a /sorteze regulile In cele prezentate p an a acum, doar suportul si condent a erau considerate
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
59 / 73
Figure: Pa sii unui proces de extragere de cuno stint e. Postprocesarea cont ine evaluarea regulilor
lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 60 / 73
Funct ii obiective:
folosesc statistici derivate din date pentru a determina gradul de interes suport, condent a, corelat ie
Funct ii subiective:
se refer a la grad de interes pentru cunoa sterea uman a exemplu: {unt } {paine } este de a steptat si deci neinteresant; dar {scutece } {bere } este ceva surprinz ator modalit a ti de ncorporare a subiectivismului:
vizualizare ltrare bazat a pe sabloane ierarhie de concepte
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
61 / 73
Table: Tabel de contingent a pentru regula X Y . O valoare de forma () reprezint a lipsa obiectului asociat n tranzat ie. f1+ (f+1 ) reprezint a valoarea suport pentru X (respectiv Y ).
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
62 / 73
Consider am regula: {Ceai } {Cafea}: suport 15%, condent a 75% Remarc am ns a c a procentul celor care beau cafea este de 80%, mai mult dec at condent a anterioar a Deci regula {Ceai } {Cafea} d a o indicat ie gre sit a fat a de starea actual a a datelor; stiind c a o persoan a bea ceai, asta va sc adea sansa ei ca s a bea cafea Cauza: m asura de condent a ignor a suportul mult imii consecvent
lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 63 / 73
corelat ia Pearson pentru variabile binare: f11 f00 f01 f10 [1, 1] f1+ f+1 f0+ f+0
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
64 / 73
De v azut din bibliograe: Proprietatea de inversiune Proprietatea de ad augare nul a Proprietatea de scalare De citit: paradoxul lui Simpson si necesitatea stratic arii datelor naintea extragerii de reguli
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
67 / 73
Outline
1 2 3 4 5 6 7
Not iuni, denirea problemei Generarea mult imilor frecvente Generarea regulilor Reprezentarea compact a a mult imilor frecvente Metode alternative pentru generarea de mult imi frecvente Evaluarea regulilor de asociere Efectul distribut iei oblice
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
68 / 73
Distribut ii oblice
Uneori datele au urm atoarea form a: foarte multe obiecte cu suport mic, put ine cu suport mare O atare distribut ie este puternic neechilibrat a (eng: skewed) si nu poate tratat a uniform Dac a pragul minsup este ales prea mic atunci algoritmul Apriori (sau oricare altul) poate genera excesiv de multe mult imi frecvente consum mare de memorie, posibil relat ii nt ampl atoare Dac a minsup este prea mare se pot rata ni ste reguli utile
exemplu: bijuterii - se cump ar a rar n comparat ie cu alte produse, dar protul adus e considerabil
Pentru setul de date Public Use Microarray Sample census data distribut ia datelor este:
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
69 / 73
Distribut ii oblice
Distribut ii oblice
Dac a se las a valoare minsup mic a, atunci o mult ime poate s a combine obiecte cu suport mare si mic Obiectele din mult ime ns a pot avea o corelat ie mic a Atfel de mult imi se numesc sabloane cu suport ncruci sat (eng: cross-support patterns) Pentru minsup = 0.05% avem 18847 perechi frecvente, din care 93% sunt cu obiecte din G1 si G3; corelat ia maxim a este ns a 0.029 - prea put in Chiar m arirea pragului minconf poate inefectiv a; consecventul unei reguli poate avea suport mare deci sabloane cu suport ncluci sat pot nc a s a apar a
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
71 / 73
Distribut ii oblice
Denit ie (S abloane cu suport ncruci sat)
Un sablon cu suport ncruci sat este o mult ime 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 dec at un prag specicat de utilizator hc . Un alt mod de detectare a sabloanelor cu suport ncruci sat: se examineaz a condent a minim a care se poate extrage dintro mult ime dat a, i.e. m asura h-condent a: s (i1 , i2 , . . . , ik ) max [s (i1 ), s (i2 ), . . . , s (ik )]
lucian.sasu@ieee.org (UNITBV) Curs 6 April 5, 2012 72 / 73
Distribut ii oblice
Criteriul de eliminare a unui sablon ncruci sat X : sablonul se elimin a dac a h condenta(X ) min[s (i1 ), s (i2 ), . . . , s (ik )] hc max[s (i1 ), s (i2 ), . . . , s (ik )]
Valoarea peste hc a h-condent ei ne asigur a c a obiectele din mult ime sunt puternic corelate ntre ele
lucian.sasu@ieee.org (UNITBV)
Curs 6
April 5, 2012
73 / 73