Pravila pridruživanja osnovni koncepti i algoritmi Istraživanje pravila pridruživanja Za dati skup transakcija (slogova) naći pravila koja predviñaju pojavljivanje stavke (objekta) na osnovu pojavljivanja ostalih stavki (objekata) u transakciji Transakcije potrošačke korpe (Market-Basket transactions) TID Stavke Hleb, Mleko 2 Hleb, Pelene, Pivo, Jaja 3 Mleko, Pelene, Pivo, Kola 4 Hleb, Mleko, Pelene, Pivo 5 Hleb, Mleko, Pelene, Kola Primer pravila pridruživanja {Pelene} {Pivo}, {Mleko, Hleb} {Jaja, Kola}, {Pivo, Hleb} {Mleko}, Implikacija označava istovremeno pojavljivanje, ne uzročnost! 2 Pravila pridruživanja Pravila pridruživanja utvrñuju veze (asocijacije, pridruživanja) izmeñu podataka u velikim bazama podataka Analiza veza izmeñu podataka otkrivanje veza izmeñu pojedinačnih podataka ne karakterizuje se celokupna baza podataka Pravila pridruživanja opisuju relacije izmedju skupova elemenata u podacima, i oblika su A B gde su A i B skupovi elemenata predstavljeni u skupu podataka. 3
Pravila pridruživanja Primer: {hleb, mleko} {pelene} ako kupac kupi hleb i mleko, (verovatno) će kupiti i pelene elementi (stavke, kod potrošačke korpe artikli, eng. items): hleb, mleko, pelene skup stavki (eng. itemset) sadrži jednu ili više stavki K-skup stavki - skup koji sadrži K stavki 4 Definicije pojmova Brojač podrške (Support count) (σ) Broj pojavljivanja skupa stavki Npr. σ({mleko, Hleb, Pelene}) = 2 Podrška Učestalost pojavljivanja skupa stavki u transakcijama Npr. s({mleko, Hleb, Pelene}) = 2/5 TID Stavke Hleb, Mleko 2 Hleb, Pelene, Pivo, Jaja 3 Mleko, Pelene, Pivo, Kola 4 Hleb, Mleko, Pelene, Pivo 5 Hleb, Mleko, Pelene, Kola Čest skup stavki Skup stavki čija je podrška veća ili jednaka od navedenog praga (minsup) 5 Pravilo pridruživanja Definicije pojmova Implikacija oblika X Y, gde su X i Y skupovi stavki Primer: {Mleko, Pelene} {Pivo} Metrika za procenu pravila Podrška Količnik broja transakcija koje sadrže i X i Y i ukupnog broja transakcija σ (X Υ Y ) s(x Y) = N Pouzdanost (poverenje, eng. confidence) Meri koliko često se stavka Y javlja u transakcijama koje sadrže X σ ( X ΥY ) c(x Y) = σ ( X ) TID Stavke Hleb, Mleko 2 Hleb, Pelene, Pivo, Jaja 3 Mleko, Pelene, Pivo, Kola 4 Hleb, Mleko, Pelene, Pivo 5 Hleb, Mleko, Pelene, Kola Primer: { Mleko, Pelene} Pivo (Mleko, Pelene,Pivo) 2 s = σ = =.4 T 5 σ (Mleko,Pelene,Pivo) 2 c = = =.67 σ (Mleko, Pelene) 3 6 2
Istraživanje pravila pridruživanja - nastavak Za dati skup transakcija (slogova) T cilj istraživanja pravila pridruživanja je pronaći sva pravila koja imaju podršku minsup praga pouzdanost minconf praga Pristup metodom grube sile: Izlistati sva moguća pravila pridruživanja Izračunati podršku i pouzdanost za svako pravilo Potkresati pravila koja ne zadovoljavaju minsup i minconf prag Računarski vrlo zahtevan proces! 7 Istraživanje pravila pridruživanja - nastavak Visoko poverenje jako pravilo, ukazuje na visok nivo uzročnosti, pridruživanja, asocijacije izmeñu artikala/elemenata ovakva pravila su od interesa Visoka podrška pojavljuje se često, manje je verovatno da se pravilo slučajno pojavilo uočavanje čestih pravila nudi više mogućnosti za akciju U slučaju jako velikih baza podataka minconf (minimalni nivo poverenja) se obično postavlja visoko (npr. 8%) minsup (minimalni nivo podrške) je uobičajeno značajno niži (npr. 5-%), zbog velike raznolikosti 8 Klasičan primer: potrošačka korpa Utvrditi koji se artikli prodaju zajedno Ako kupac kupi odreñene artikle, koji su još proizvodi verovatni da se nañu u njegovoj korpi Primena: npr. organizovati promotivnu kampanju (rasprodaju) tako da se popust ne daje istovremeno na artikle koji se uobičajeno kupuju zajedno ako se prepozna pravilo da kupac koji kupi ženske cipele obično kupuje i odgovarajuću torbu u istom dezenu, onda dati popust na cipele, ali ne i na torbu (ili obrnuto) kupac koji kupuje računar obično kupi i štampač: ponuditi popust na štampač, ali ne i na računar Pored uobičajenih paketa proizvoda, naći i iznenañujuće (neuobičajene) pridružene artikle (npr. novi trend) 9 3
Istraživanje pravila pridruživanja - primer TID Stavke Hleb, Mleko 2 Hleb, Pelene, Pivo, Jaja 3 Mleko, Pelene, Pivo, Kola 4 Hleb, Mleko, Pelene, Pivo 5 Hleb, Mleko, Pelene, Kola Napomene: Primeri pravila: {Mleko,Pelene} {Pivo} (s=.4, c=.67) {Mleko,Pivo} {Pelene} (s=.4, c=.) {Pelene,Pivo} {Mleko} (s=.4, c=.67) {Pivo} {Mleko,Pelene} (s=.4, c=.67) {Pelene} {Mleko,Pivo} (s=.4, c=.5) {Mleko} {Pelene,Pivo} (s=.4, c=.5) Sva prethodna pravila su binarni delovi istog skupa stavki: {Mleko, Pelene, Pivo} Pravila izvedena iz istog skupa stavki imaju istu podršku ali mogu da imaju različitu pouzdanost To je razlog razdvajanja zahteva za podrškom i pouzdanošću Formiranje pravila pridruživanja Dva koraka formiranje podržanih (čestih) skupova stavki Formirati sve skupove stavki kod koijh je podrška minsup formiranje pravila iz čestih skupova Formirati pravila sa visokom pouzdanošću iz svakog skupa stavki, pri čemu je svako pravilo binarna podela čestog skup stavki Formiranje pravila pridruživanja Formiranje svih česte skupova artikala je problem jer u primenama se obično pojavljuju stotine hiljada različitih artikala (npr. potrošačka korpa) za d artikala postoji 2 d - mogućih skupova (+ prazan skup) njihovu frekvenciju treba proveriti na osnovu miliona transakcija svakog dana/sata Računarski vrlo zahtevan proces da li je moguće smanjiti prostor pretrage za česte skupove? 2 4
Rešetka skupova artikala null A B C D E AB AC AD AE BC BD BE CD CE DE ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE ABCD ABCE ABDE ACDE BCDE ABCDE 3 Formiranje čestih skupova stavki Pristup metodom grube sile: Svaki skup stavki u rešetki je kandidat da bude čest Prebrojati podršku za svakog kandidata pregledanjem baze N TID Transakcije Stavke Hleb, Mleko 2 Hleb, Pelene, Pivo, Jaja 3 Mleko, Pelene, Pivo, Kola 4 Hleb, Mleko, Pelene, Pivo 5 Hleb, Mleko, Pelene, Kola w Lista kandidata Uparuje se svaka transakcija sa svakim kandidatom Složenost ~ O(NMw) => Jako skupo jer je M = 2 d!!! M 4 Složenost izračunavanja Neka je dato d jedinstvenih stavki: Ukupan broj skupa stavki je = 2 d Ukupan broj mogućih pravila pridruživanja je : R = d d k k = j= d d = 3 2 + d k + d k j Ako je d=6, R = 62 5 5
Strategije formiranja čestih skupova stavki Smanjiti broj kandidata (M) Kompletno pretraživanje: M=2 d Koristiti tehnike potkresivanja radi smanjenja M Smanjiti broj transakcija (N) Smanjivati veličinu N kako raste broj skupova stavki Koristi se u DHP (Direct Hashing and Pruning) i vertikalno zasnovanim algoritmima istraživanja Smanjiti broj poreñenja (NM) Koristiti efikasnije strukture podataka radi čuvanja kandidata i/ili transakcija Nije potrebno uparivati svakog kandidata sa svakom transakcijom 6 Smanjivanje broja kandidata Apriori princip: Ako je skup stavki čest, tada su i svi njegovi podskupovi takoñe česti Apriori princip važi zbog sledeće osobine metrike kojom se meri podrška: X, Y : ( X Y ) s( X ) s( Y ) Podrška skupa pravila nikada nije veća od podrške njegovih podskupova Ova osobina je poznata poda nazivom anti-monotonost podrške 7 Anti-monotonost Zatvorenje na niže (downward closure): svaki podskup od podržanog (čestog) skupa je takoñe podržan (čest) ako je {A, B, C} čest, onda je čest i {A, C} Odatle, ako imamo skup artikala koji nije podržan (nije frekventan), onda ni njegovi nad-skupovi ne mogu biti podržani (anti-monotonost) dakle, njegove nad-skupove ne treba razmatrati ako {A} nije čest, onda bilo šta što sadrži {A} ne može biti često ne treba da bude razmatrano 8 6
Anti-monotonost Ne-podržan izostavljeni nadskupovi 9 Apriori algoritam inicijalizovati skupove kardinalnosti odrediti frekvenciju kandidatskih skupova; podržani skupovi su oni čija je frekvencija iznad minsup ima novih podržanih skupova? da formirati nove kandidate proširivanjem podržanih skupova sa po jednim elementom ne kraj 2 Apriori algoritam Na početku uzeti k= Formirati česte skupove stavki kardinalnosti Ponavljati proces sve dok se prestane sa pronalaženjem čestih skupova stavki Formirati skupove stavki dužine (k+) iz skupova stavki dužine k Potkresati kandidatske skupove stavki koji sadrže podskup kardinalnosti k koji nije čest Prebrojati podršku za svakog kandidata pregledanjem baze Ukloniti kandidate koji su retki (tj. ostaviti samo one koji su česti) 2 7
Ilustracija Apriori principa (minsup >) C Itemset sup {A} 2 Tid Items {B} 3 A, C, D {C} 3 prvi prolaz 2 B, C, E {D} 3 A, B, C, E {E} 3 4 B, E Itemset sup C 2 C 2 {A, B} L 2 Itemset sup drugi prolaz {A, C} 2 {B, C} 2 {B, E} 3 {C, E} 2 {A, C} C Itemset 3 treći prolaz L 3 {B, C, E} 2 {A, E} {B, C} 2 {B, E} 3 {C, E} 2 L Itemset sup {A} 2 {B} 3 {C} 3 {E} 3 Itemset sup {B, C, E} 2 Itemset {A, B} {A, C} {A, E} {B, C} {B, E} {C, E} 22 Stavka Broj Hleb 4 Kola 2 Mleko 4 Pivo 3 Pelene 4 Jaja Ilustracija Apriori principa Minimalna podrška = 3 Stavke (-skup stavki) Skup stavki Broj {Hleb, Mleko} 3 {Hleb, Pivo} 2 {Hleb, Pelene } 3 {Mleko, Pivo} 2 {Mleko, Pelene} 3 {Pivo, Pelene} 3 Ako se posmatra svaki podskup broj skupova stavki je 6 C + 6 C 2 + 6 C 3 = 4 Sa potkresivanjem zasnovanim na podršci broj stavki je 6 + 6 + = 3 Parovi (2-skup stavki) (Nema potrebe za formiranjem kandidata koji uključuju kolu ili jaja Trojke (3-skup stavki) Itemset Count {Hleb, Mleko, Pelene} 3 23 Formiranje i potkresivanje skupa kandidata Korišćene oznake: C k+ označava česte skupove stavki dužine k. F k označava skup kandidata dužine k. Funkcija formiranja novih novih kandidatskih skupova u apriori algoritmu uključuje Formiranje kandidata: generišu se novi k-skupovi stavki na osnovu čestih skupova stavki dužine (k-) koji su formirani u prethodnoj iteraciji Potkresivanje skupa kandidata: eliminišu se odreñeni kandidatski k- skupovi stavki korišćenjem strategije potkresivanja na osnovu podrške 24 8
Formiranje i potkresivanje skupa kandidata Metod grube sile Razmatra svaki podržani skup dužine k kao potencijalnog kandidata i zatim primenjuje potkresivanje F k- F metoda Primer? Problemi? Potrebno leksikografsko ureñenje stavki u skupu 25 Formiranje i potkresivanje skupa kandidata F k- F k- metoda leksikografsko ureñenje Neka su A={a, a 2,..., a k- } i B={b, b 2,..., b k- } par čestih k- skupova stavki. A i B mogu da se kombinuju ako zadovoljavaju uslov a i = b i za svako i=, 2,..., k-2, i a k- b k- Primer? 26 Formiranje i potkresivanje skupa kandidata Primer formiranja F k- F k- metodom C 3 ={abc, abd, acd, ace, bcd} samo-spajanje skupova iz C 3 abcd iz abc i abd acde iz acd i ace (podržani 3-skupovi) potkresivanje (izostavljanje nepodržanih skupova): acde se izostavlja jer ade nije u C 3 dakle, C 4 = {abcd} 27 9
Smanjenje broja poreñenja Prebrojavanje kandidata: Pregledati bazu podataka transakcija radi odreñivanja podrške svakog od kandidatskih skupova stavki Radi smanjenja broja poreñenja sačuvati kandidate u heš strukturi Umesto uparivanja svake transakcije sa svakim kandidatom transakcija se uparuje sa kandidatima koji se nalaze u heš grupi Transakcije Heš struktura N TID Stavke Hleb, Mleko 2 Hleb, Pelene, Pivo, Jaja 3 Mleko, Pelene, Pivo, Kola 4 Hleb, Mleko, Pelene, Pivo 5 Hleb, Mleko, Pelene, Kola Grupa k 28 Formiranje Heš drveta Pretpostavimo da postoji 5 kandidatskih skupova stavki dužine 3: { 4 5}, { 2 4}, {4 5 7}, { 2 5}, {4 5 8}, { 5 9}, { 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} Potrebna je : Heš funkcija Maksimalna veličina lista: najveći broj skupova stavki koji može da bude smešten u listu (ako broj kandidatskih skupova stavki prelazi navedenu vrednost podeliti čvor) Heš funkcija 3,6,9,4,7 2,5,8 4 5 2 4 4 5 7 2 5 4 5 8 2 3 4 5 6 7 3 4 5 3 5 6 3 6 3 5 7 6 8 9 5 9 3 6 7 3 6 8 29 Heš funkcija,4,7 2,5,8 Pronalaženje pravila pridruživanja: heš drvo 3,6,9 2 3 4 5 6 7 Heš drvo kandidata Heš na, 4 ili 7 4 5 3 6 2 4 2 5 5 9 4 5 7 4 5 8 3 4 5 3 5 6 3 6 7 3 5 7 3 6 8 6 8 9 3
Heš funkcija Pronalaženje pravila pridruživanja: heš drvo Heš drvo kandidata,4,7 3,6,9 2,5,8 Heš na 2, 5 ili 8 4 5 3 6 2 4 2 5 5 9 4 5 7 4 5 8 2 3 4 5 6 7 3 4 5 3 5 6 3 6 7 3 5 7 3 6 8 6 8 9 3 Heš funkcija Pronalaženje pravila pridruživanja: heš drvo Heš drvo kandidata,4,7 3,6,9 2,5,8 Heš na 3, 6 ili 9 4 5 3 6 2 4 2 5 5 9 4 5 7 4 5 8 2 3 4 5 6 7 3 4 5 3 5 6 3 6 7 3 5 7 3 6 8 6 8 9 32 Operacije sa podskupovima Za datu transakciju t koji su mogući podskupovi veličine 3? 33
Operacije sa podskupovima korišćenjem heš drveta + 2 3 5 6 2 3 5 6 transakcija 2 3 4 5 6 7 2 + 3 5 6 3 + 5 6 Heš funkcija,4,7 2,5,8 3,6,9 4 5 3 6 2 4 4 5 7 2 5 4 5 8 5 9 3 4 5 3 5 6 3 6 7 3 5 7 3 6 8 6 8 9 34 Operacije sa podskupovima korišćenjem heš drveta 2 3 5 6 transakcija Heš funkcija 2 + 3 5 6 3 + 5 6 5 + 6 4 5 3 6 2 4 4 5 7 + 2 3 5 6 2 5 4 5 8 5 9 2 3 4 5 6 7 2 + 3 5 6 3 + 5 6 3 4 5 3 5 6 3 6 7 3 5 7 3 6 8 6 8 9,4,7 2,5,8 3,6,9 35 2 + 3 5 6 3 + 5 6 5 + 6 Operacije sa podskupovima korišćenjem heš drveta 4 5 3 6 2 4 4 5 7 + 2 3 5 6 2 5 4 5 8 5 9 2 3 5 6 transakcija 2 3 4 5 6 7 2 + 3 5 6 3 + 5 6 3 4 5 3 5 6 3 6 7 3 5 7 3 6 8 6 8 9 Heš funkcija,4,7 2,5,8 Transakcija se uparuje sa od 5 kandidata 3,6,9 36 2
Faktori koji utiču na složenost Izbor praga podrške smanjenje praga podrške daje veći broj čestih skupova stavki Ovim se povećava broj kandidata i najveća dužina čestih skupova stavki Dimenzionalnost (broj stavki) skupa stavki potrebno je više prostora za čuvanje brojača podrške za sve stavke ako se broj čestih skupova stavki poveća, povećava se i cena izračunavanja i izvoñenja U/I operacija Veličina baze podataka pošto Apriori pravi više prolaza, sa povećanjem broja transakcija raste i vreme izvršavanja algoritma Prosečna veličina (širina) transakcije Veličina transakcije povećava učestalost skupa stavki Ovim se povećava najveća dužina čestih skupova stavki i skupova koji se obilaze u heš drvetu (broj podskupova transakcije se povećava sa povećanjem njene veličine) 37 Formiranje pravila pridruživanja Svaki čest k-skup stavki može da proizvede do 2 k -2 pravila pridruživanja (ignorišu se pravila sa praznom levom ili desnom stranom) Pravilo se izdvaja deljenjem skupa stavki Y na dva neprazna podskupa X i Y-X, takve da X Y-X ima veću pouzdanost od zadatog praga. Svako takvo pravilo mora da zadovoljava i uslov da je veće od praga podrške. 38 Kompaktna reprezentacija čestog skupa stavki Neki skupovi stavki su redundantni jer imaju istu podršku kao i njihovi nadskupovi TID A A2 A3 A4 A5 A6 A7 A8 A9 A B B2 B3 B4 B5 B6 B7 B8 B9 B C C2 C3 C4 C5 C6 C7 C8 C9 C 2 3 4 5 6 7 8 9 2 3 4 5 Broj čestih skupova stavki = 3 k = Potrebna je kompaktna reprezentacija k 39 3
Maksimalno čest skup stavki Skup stavki je maksimalno čest ako ni jedan od njegovih neposrednih nadskupova nije čest Maksimalni nadskupovi Retki skupovi stavki Granična linija 4 Zatvoreni skupovi stavki Skup stavki je zatvoren ako nijedan od njegovih neposrednih nadskupova nema istu podršku TID Items {A,B} 2 {B,C,D} 3 {A,B,C,D} 4 {A,B,D} 5 {A,B,C,D} Itemset Support {A} 4 {B} 5 {C} 3 {D} 4 {A,B} 4 {A,C} 2 {A,D} 3 {B,C} 3 {B,D} 4 {C,D} 3 Itemset Support {A,B,C} 2 {A,B,D} 3 {A,C,D} 2 {B,C,D} 3 {A,B,C,D} 2 4 Maksimalni/zatvoreni skup stavki TID Items ABC 2 ABCD 3 BCE 4 ACDE 5 DE Ids transakcija null 24 23 234 245 345 A B C D E 2 AB 24 AC 24 AD 4 23 2 3 24 34 45 AE BC BD BE CD CE DE 2 2 24 4 4 2 3 4 ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE 2 4 ABCD ABCE ABDE ACDE BCDE Nisu podržani niti od jedne transakcije ABCDE 42 4
Maksimalni/zatvoreni skup stavki Najmanja podrška = 2 null 24 23 234 245 345 Zatvoreni ali ne i maksimalni A B C D E Zatvoreni i maksimalni 4 2 3 24 34 45 AB AC AD AE BC BD BE CD CE DE 2 2 24 4 4 2 3 4 ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE 2 4 ABCD ABCE ABDE ACDE BCDE # zatvorenih = 9 # maksimalnih = 4 ABCDE 43 Maksimalni/zatvoreni skup stavki 44 Alternativne metode formiranja čestih skupova stavki Obilazak rešetke skupa stavki opšte ka pojedinačnom / pojedinačno ka opštem Granica čestih skupova stavki null.... null.... Granica čestih skupova stavki null.... {a,a 2,...,a n } (a) Opšte ka pojedinačnom (Apriori algoritam) Granica {a,a 2,...,a n } čestih skupova stavki (b) Pojedinačno ka opštem {a,a 2,...,a n } (c) Dvosmerno 45 5
Alternativne metode formiranja čestih skupova stavki Obilazak rešetke skupa stavki Ekvivalentne klase null null A B C D A B C D AB AC AD BC BD CD AB AC AD BC BD CD ABC ABD ACD BCD ABC ABD ACD BCD ABCD ABCD (a) Prefiksno drvo (b) Sufiksno drvo 46 Alternativne metode formiranja čestih skupova stavki Obilazak rešetke skupa stavki Obilazak u širinu u odnosu na obilazak u visinu (a) Obilazak 'prvo u širinu' (Apriori algoritam) (b) Obilazak 'prvo u visinu' 47 Alternativne metode formiranja čestih skupova stavki Reprezentacija baze podataka Horizontalni/vertikalni raspored podataka Horizontalni raspored podataka TID Items A,B,E 2 B,C,D 3 C,E 4 A,C,D 5 A,B,C,D 6 A,E 7 A,B 8 A,B,C 9 A,C,D B Vertikalni raspored podataka A B C D E 2 2 4 2 3 4 3 5 5 4 5 6 6 7 8 9 7 8 9 8 9 48 6
Algoritam FP-rasta Upotrebljava komprimovanu reprezentaciju baze podataka pomoću FP-drveta Kada je FP-drvo konstruisano koristi se rekurzivni pristup tipa 'podeli pa vladaj' radi pronalaženja čestih skupova stavki FP frequent pattern 49 Konstrukcija FP-drveta Posle čitanja TID=: null TID Stavke {A,B} 2 {B,C,D} 3 {A,C,D,E} 4 {A,D,E} 5 {A,B,C} 6 {A,B,C,D} 7 {B,C} 8 {A,B,C} 9 {A,B,D} {B,C,E} A: B: Posle čitanja TID=2: null A: B: B: C: D: 5 Konstrukcija FP-drveta TID Stavke {A,B} 2 {B,C,D} 3 {A,C,D,E} 4 {A,D,E} 5 {A,B,C} 6 {A,B,C,D} 7 {B,C} 8 {A,B,C} 9 {A,B,D} {B,C,E} Header table Stavka A B C D E Pokazivač Baza podataka sa transakcijama C:3 D: B:5 A:7 D: C: null D: D: E: B:3 D: C:3 E: Pokazivači se koriste kao pomoć pri formiranju čestih skupova stavki E: 5 7
FP-rast D: C:3 B:5 A:7 D: null C: D: D: B: C: D: Uslovni osnovni uzorci za D: P = {(A:,B:,C:), (A:,B:), (A:,C:), (A:), (B:,C:)} Rekurzivno se primeni FPrast na P Pronañeni su česti skupovi stavki (sa podrškom > ): AD, BD, CD, ACD, BCD 52 Formiranje pravila Za dati čest skup stavki L, naći sve neprazne podskupove f L takve da f L f zadovoljava minimum zahteva za pouzdanošću. Ako je {A,B,C,D} čest skup stavki, pravila kandidati su: ABC D, ABD C, ACD B, BCD A, A BCD, B ACD, C ABD, D ABC AB CD, AC BD, AD BC, BC AD, BD AC, CD AB, Ako je L = k, tada postoji 2 k 2 kandidata za pravila pridruživanja (zanemaruju se L i L) 53 Formiranje pravila Kako efikasno formirati pravila iz čestih skupova stavki? U opštem slučaju, pouzdanost nema osobinu antimonotonosti c(abc D) može da bude veće ili manje od c(ab D) Meñutim, pouzdanost pravila izvedenih iz istog skupa pravila poseduje osobinu antimonotonosti: npr., L = {A,B,C,D}: c(abc D) c(ab CD) c(a BCD) 54 8
Formiranje pravila za Apriori Algoritam Rešetka sa pravilima Pravila sa niskom pouzdanošću Potkresana pravila 55 Formiranje pravila za Apriori Algoritam Pravila kandidati se formiraju uparivanjem dva pravila koja dele isti prefiks na desnoj strani spajanje(cd=>ab,bd=>ac) proizvodi kandidata za pravilo D => ABC CD=>AB BD=>AC Potkresati pravilo D=>ABC ako njegov podskup AD=>BC nema visoku pouzdanost D=>ABC 56 Procena obrazaca Algoritmi sa pravilima pridruživanja imaju tendenciju da formiraju veliki broj pravila veliki broj njih je neinteresantan ili redundantan redundantnost se javlja ako {A,B,C} {D} i {A,B} {D} imaju identičnu podršku i pouzdanost Kriterijum interesantnosti mera može da bude korišćen za rangiranje/potkresivanje izvedenih obrazaca U originalnoj formulaciji pravila pridruživanja podrška i pouzdanost su jedine mere koje se koriste 57 9
Featur Featur Featur e Featur e Featur e Featur e e Featur Featur e Featur e Featur e e e uct uct uct uct uct uct uct uct uct uct Primena interesantnosti mere Interesantost mere Knowledge Patterns Postprocessing Preprocessed Data Selected Data Prod Prod Prod Prod Prod Prod Prod Prod Prod Prod Mining Data Preprocessing Selection 58 Izračunavanje interesantnosti mere Za dato pravilo X Y, informacije potrebne za izračunavanje interesantosti pravila mogu da se dobiju iz tabele kontingenata X X Y f Y f f + f f f o+ f + f + T Tabela kontingenata za X Y f : podrška za X i Y f : podrška za X i Y f : podrška za X i Y f : podrška za X i Y Koristi se za definisanje različitih mera podrška, pouzdanost, Gini, J-mera, itd. 59 Nedostaci pouzdanosti Čaj Čaj Kafa 5 75 9 Kafa 5 5 2 8 Pravilo pridruživanja: Čaj Kafa Pouzdanost= P(Kafa Čaj) =.75 Pošto je P(Kafa) =.9 Bez obzira na visoku pozdanost, pravilo je pogrešno P(Kafa Čaj) =.9375 6 2
Statistička nezavisnost Populacija od studenata 6 studenata zna da pliva (S) 7 studenata zna da vozi bicikl (B) 42 studenata zna i da pliva i da vozi bicikl (S,B) P(S B) = 42/ =.42 P(S) P(B) =.6.7 =.42 P(S B) = P(S) P(B) => Statistički nezavisno P(S B) > P(S) P(B) => Pozitivno korelisano P(S B) < P(S) P(B) => Negativno korelisano 6 Statistički zasnovane mere Mere koje uzimaju u obzir statističku zavisnost P( Y X ) Lift = P( Y ) P( X, Y ) Interest = P( X ) P( Y ) PS = P( X, Y ) P( X ) P( Y ) P( X, Y ) P( X ) P( Y ) φ coefficient = P( X )[ P( X )] P( Y )[ P( Y )] 62 Primer: Lift/Interest Čaj Čaj Kafa 5 75 9 Kafa 5 5 2 8 Pravilo pridruživanja: Čaj Kafa Pouzdanost= P(Kafa Čaj) =.75 Pošto je P(Kafa) =.9 Lift =.75/.9=.8333 (<, prema tome je negativno pridruženo) 63 2
Nedostaci Lift & Interest X X Y Y 9 9 9 X X Y 9 9 Y 9. Lift = =.9 Lift = =. (.)(.) (.9)(.9) Statistička nezavisnost: Ako je P(X,Y)=P(X)P(Y) => Lift = 64 U literaturi se javlja veliki broj mera Neke mere su dobre za neke primene, ali ne i za neke druge Koji kriterijum treba da koristimo pri proceni kvaliteta mere? 65 Osobine dobre mere Piatetsky-Shapiro: Dobra mera mora da zadovoljava 3 osobine: M(A,B) = ako su A i B statistički nezavisne M(A,B) se monotono povećava sa P(A,B) kada P(A) i P(B) ostaju nepromenjene M(A,B) se monotono smanjuje sa P(A) [ili P(B)] kada P(A,B) i P(B) [ili P(A)] ostaju nepromenjene 66 22
Poreñenje različitih mera primera u tabeli kontingenata: Rangiranje tabele kontingenata pomoću različitih mera Exam ple f f f f E 823 83 424 37 E2 833 2 622 46 E3 948 94 27 298 E4 3954 38 5 296 E5 2886 363 32 443 E6 5 2 5 6 E7 4 2 3 E8 4 2 2 2 E9 72 72 5 54 E 6 2483 4 7452 67 Osobine u slučaju permutacije promenljivih B B A p q A r s Simetrične mere: Da li važi M(A,B) = M(B,A)? A A B p r B q s podrška, lift, kolektivna (zbirna) snaga, cosinusna, Žakard, itd. Asimetrične mere: pouzdanost, ubeñenje, Laplas, J-mera, itd. 68 Osobine u slučaju skaliranja reda/kolone Primer ocena-pol (Mosteller, 968): Muški Ženski Muški Ženski Najviša 2 3 5 Najviša 4 3 34 Najniža 4 5 Najniža 2 4 42 3 7 6 7 76 2x x Mosteller: Pridruživanje treba da bude nezavisno od relativnog broja muških i ženskih studenata u primeru 69 23
Osobine u slučaju inverzije operacija. Transakcija Transakcija N A B C D E F (a) (b) (c) 7 Primer: φ-koeficijent φ-koeficijent je analogan koeficijentu korelacije za neprekidne promenljive X X Y 6 7 Y 2 3 7 3.6.7.7 φ =.7.3.7.3 =.5238 φ koeficijent ima istu vrednost za obe tabele X X Y 2 3 Y 6 7 3 7.2.3.3 φ =.7.3.7.3 =.5238 7 Osobine u slučaju dodavanja praznih slogova B B A p q A r s Invarijantne mere: podrška, kosinusna mera, Žakard, itd. Mere koje nisu invarijantne: B B A p q A r s + k korelacija, Gini, mutual information, odds ratio, itd. 72 24
Različite mere i njihove osobine Sym bol M e as ure Range P P2 P3 O O2 O3 O3' O4 Φ Correlation - Yes Yes Yes Yes No Yes Yes No λ Lambda Yes No No Yes No No* Yes No α Odds ratio Yes* Yes Yes Yes Yes Yes* Yes No Q Yule's Q - Yes Yes Yes Yes Yes Yes Yes No Y Yule's Y - Yes Yes Yes Yes Yes Yes Yes No κ Cohen's - Yes Yes Yes Yes No No Yes No M Mutual Information Yes Yes Yes Yes No No* Yes No J J-Measure Yes No No No No No No No G Gini Index Yes No No No No No* Yes No s Support No Yes No Yes No No No No c Confidence No Yes No Yes No No No Yes L Laplace No Yes No Yes No No No No V Conviction.5 No Yes No Yes** No No Yes No I Interest Yes* Yes Yes Yes No No No No IS IS (cosine).. No Yes Yes Yes No No No Yes PS Piatetsky-Shapiro's -.25.25 Yes Yes Yes Yes No Yes Yes No F Certainty factor - Yes Yes Yes No No No Yes No AV Added value.5 Yes Yes Yes No No No No No S Collective strength No Yes Yes Yes No Yes* Yes No ζ Jaccard.. No Yes Yes Yes No No No Yes 2 2 K Klosgen's 2 3 Κ Κ Yes Yes Yes No No No No No 3 3 3 3 73 25