Pravila pridruživanja. osnovni koncepti i algoritmi

Σχετικά έγγραφα
Pravila pridruživanja

Pravila pridruživanja

Asocijativna analiza

3.1 Granična vrednost funkcije u tački

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju

Teorijske osnove informatike 1

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović

Iskazna logika 3. Matematička logika u računarstvu. novembar 2012

a M a A. Može se pokazati da je supremum (ako postoji) jedinstven pa uvodimo oznaku sup A.

Operacije s matricama

numeričkih deskriptivnih mera.

APROKSIMACIJA FUNKCIJA

ELEKTROTEHNIČKI ODJEL

Κανόνες Συσχέτισης Ι. Εισαγωγή. Εισαγωγή. Ορισμοί. Ορισμοί. Ορισμοί. Market-Basket transactions (Το καλάθι της νοικοκυράς!)

Κανόνες Συσχέτισης IIΙ

TID Items. Τ = {t 1, t 2,.., t N } ένα σύνολο από δοσοληψίες, όπου κάθε t i είναι ένα στοιχειοσύνολο

Οι διαφάνειες στηρίζονται στο P.-N. Tan, M.Steinbach, V. Kumar, «Introduction to Data Mining», Addison Wesley, 2006

Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo

Ανάλυση Συσχέτισης IΙ

Zadaci iz Osnova matematike

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka

Κανόνες Συσχέτισης IΙ

Ο Αλγόριθμος FP-Growth

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama.

Οι διαφάνειες στηρίζονται στο P.-N. Tan, M.Steinbach, V. Kumar, «Introduction to Data Mining», Addison Wesley, 2006

INTELIGENTNO UPRAVLJANJE

Računarska grafika. Rasterizacija linije

IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI)

KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA.

Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu

(P.I.) PRETPOSTAVKA INDUKCIJE - pretpostavimo da tvrdnja vrijedi za n = k.

Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων

Sistemi veštačke inteligencije primer 1

5. Karakteristične funkcije

SISTEMI NELINEARNIH JEDNAČINA

Ispitivanje toka i skiciranje grafika funkcija

41. Jednačine koje se svode na kvadratne

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15

XI dvoqas veжbi dr Vladimir Balti. 4. Stabla

Elementi spektralne teorije matrica

Računarska grafika. Rasterizacija linije

1. zadatak , 3 Dakle, sva kompleksna re{ewa date jedna~ine su x 1 = x 2 = 1 (dvostruko re{ewe), x 3 = 1 + i

radni nerecenzirani materijal za predavanja R(f) = {f(x) x D}

Sortiranje prebrajanjem (Counting sort) i Radix Sort

Linearna algebra 2 prvi kolokvij,

18. listopada listopada / 13

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti).

IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f

Dvanaesti praktikum iz Analize 1

Lecture Notes for Chapter 6. Introduction to Data Mining

Betonske konstrukcije 1 - vežbe 3 - Veliki ekscentricitet -Dodatni primeri

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων:

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x

Pismeni ispit iz matematike Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: ( ) + 1.

DRUGI KOLOKVIJUM IZ MATEMATIKE 9x + 6y + z = 1 4x 2y + z = 1 x + 2y + 3z = 2. je neprekidna za a =

Neka su A i B skupovi. Kažemo da je A podskup od B i pišemo A B ako je svaki element skupa A ujedno i element skupa B. Simbolima to zapisujemo:

5 Ispitivanje funkcija

Zavrxni ispit iz Matematiqke analize 1

Kaskadna kompenzacija SAU

Relacije poretka ure denja

1. Pojam fazi skupa. 2. Pojam fazi skupa. 3. Funkcija pripadnosti, osobine i oblici. 4. Funkcija pripadnosti, osobine i oblici

SKUPOVI I SKUPOVNE OPERACIJE

Klasifikacija blizu Kelerovih mnogostrukosti. konstantne holomorfne sekcione krivine. Kelerove. mnogostrukosti. blizu Kelerove.

PID: Domen P je glavnoidealski [PID] akko svaki ideal u P je glavni (generisan jednim elementom; oblika ap := {ab b P }, za neko a P ).

Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto

Linearna algebra 2 prvi kolokvij,

( ) ( ) 2 UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET. Zadaci za pripremu polaganja kvalifikacionog ispita iz Matematike. 1. Riješiti jednačine: 4

1 Promjena baze vektora

Matematička analiza 1 dodatni zadaci

Riješeni zadaci: Nizovi realnih brojeva

IZVODI ZADACI (I deo)

Matematiqki fakultet. Univerzitet u Beogradu. Domai zadatak

PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je,

2log. se zove numerus (logaritmand), je osnova (baza) log. log. log =

Algoritmi i strukture podataka - 1.cas

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων

Prediktor-korektor metodi

7 Algebarske jednadžbe

Dijagonalizacija operatora

π π ELEKTROTEHNIČKI ODJEL i) f (x) = x 3 x 2 x + 1, a = 1, b = 1;

Trigonometrijske nejednačine

Sume kvadrata. mn = (ax + by) 2 + (ay bx) 2.

1 Afina geometrija. 1.1 Afini prostor. Definicija 1.1. Pod afinim prostorom nad poljem K podrazumevamo. A - skup taqaka

Program testirati pomoću podataka iz sledeće tabele:

Mašinsko učenje. Regresija.

Neka su A i B proizvoljni neprazni skupovi. Korespondencija iz skupa A u skup B definiše se kao proizvoljan podskup f Dekartovog proizvoda A B.

Algebarske strukture sa jednom operacijom (A, ): Ako operacija ima osobine: zatvorenost i asocijativnost, onda je (A, ) polugrupa

Verovatnoća i Statistika I deo Teorija verovatnoće (zadaci) Beleške dr Bobana Marinkovića

RIJEŠENI ZADACI I TEORIJA IZ

1 Svojstvo kompaktnosti

FTN Novi Sad Katedra za motore i vozila. Teorija kretanja drumskih vozila Vučno-dinamičke performanse vozila: MAKSIMALNA BRZINA

MATEMATIKA 2. Grupa 1 Rexea zadataka. Prvi pismeni kolokvijum, Dragan ori

Osnovne teoreme diferencijalnog računa

Zadaci iz trigonometrije za seminar

100g maslaca: 751kcal = 20g : E maslac E maslac = (751 x 20)/100 E maslac = 150,2kcal 100g med: 320kcal = 30g : E med E med = (320 x 30)/100 E med =

Veleučilište u Rijeci Stručni studij sigurnosti na radu Akad. god. 2011/2012. Matematika. Monotonost i ekstremi. Katica Jurasić. Rijeka, 2011.

Pismeni ispit iz matematike GRUPA A 1. Napisati u trigonometrijskom i eksponencijalnom obliku kompleksni broj, zatim naći 4 z.

Transcript:

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 1 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 TID Stavke Podrška Učestalost pojavljivanja skupa stavki u transakcijama Npr. s({mleko, Hleb, Pelene}) = 2/5 1 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

Definicije pojmova Pravilo pridruživanja 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 s(x Y) = N Pouzdanost (poverenje, eng. confidence) Meri koliko često se stavka Y javlja u transakcijama koje sadrže X c(x Y) = σ (X Υ Y ) σ ( X ΥY ) σ ( X ) TID Stavke 1 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} (Mleko, Pelene, Pivo) s = σ = T σ (Mleko,Pelene,Pivo) c = = σ (Mleko, Pelene) 2 3 Pivo 2 5 = 0.4 = 0.67 6

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 - Visoko poverenje nastavak 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. 80%) minsup (minimalni nivo podrške) je uobičajeno značajno niži (npr. 5-10%), 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

Istraživanje pravila pridruživanja - primer TID Stavke 1 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=0.4, c=0.67) {Mleko,Pivo} {Pelene} (s=0.4, c=1.0) {Pelene,Pivo} {Mleko} (s=0.4, c=0.67) {Pivo} {Mleko,Pelene} (s=0.4, c=0.67) {Pelene} {Mleko,Pivo} (s=0.4, c=0.5) {Mleko} {Pelene,Pivo} (s=0.4, c=0.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 10

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 11

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 - 1 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? 12

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 13

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 Transakcije TID Stavke 1 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 14

15 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 : 1 2 3 1 1 1 1 + = = + = = d d d k k d j j k d k d R Ako je d=6, R = 602

Strategije formiranja čestih Smanjiti broj kandidata (M) skupova stavki 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 16

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 17

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 18

Anti-monotonost Ne-podržan izostavljeni nadskupovi 19

Apriori algoritam inicijalizovati skupove kardinalnosti 1 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 20

Apriori algoritam Na početku uzeti k=1 Formirati česte skupove stavki kardinalnosti 1 Ponavljati proces sve dok se prestane sa pronalaženjem čestih skupova stavki Formirati skupove stavki dužine (k+1) 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) 21

Ilustracija Apriori principa (minsup >1) Tid Items 1 A, C, D 2 B, C, E 3 A, B, C, E 4 B, E prvi prolaz C Itemset sup 1 L 1 {B} 3 {C} 3 {D} 1 {E} 3 C 2 C 2 {A, B} 1 L 2 Itemset sup drugi prolaz {A, C} 2 {B, C} 2 {B, E} 3 {C, E} 2 {A} Itemset {A, C} C Itemset 3 treći prolaz L 3 {B, C, E} sup 2 {A, E} 1 {B, C} 2 {B, E} 3 {C, E} 2 2 Itemset sup {B, C, E} 2 Itemset sup {A} 2 {B} 3 {C} 3 {E} 3 Itemset {A, B} {A, C} {A, E} {B, C} {B, E} {C, E} 22

Ilustracija Apriori principa Stavka Broj Hleb 4 Kola 2 Mleko 4 Pivo 3 Pelene 4 Jaja 1 Minimalna podrška = 3 Stavke (1-skup stavki) Ako se posmatra svaki podskup broj skupova stavki je 6 C 1 + 6 C 2 + 6 C 3 = 41 Sa potkresivanjem zasnovanim na podršci broj stavki je 6 + 6 + 1 = 13 Skup stavki Broj {Hleb, Mleko} 3 {Hleb, Pivo} 2 {Hleb, Pelene } 3 {Mleko, Pivo} 2 {Mleko, Pelene} 3 {Pivo, Pelene} 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 Korišćene oznake: kandidata C k+1 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-1) 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

Formiranje i potkresivanje skupa Metod grube sile kandidata Razmatra svaki podržani skup dužine k kao potencijalnog kandidata i zatim primenjuje potkresivanje F k-1 F 1 metoda Primer? Problemi? Potrebno leksikografsko ureñenje stavki u skupu 25

Formiranje i potkresivanje skupa F k-1 F k-1 metoda kandidata leksikografsko ureñenje Neka su A={a 1, a 2,..., a k-1 } i B={b 1, b 2,..., b k-1 } par čestih k- skupova stavki. A i B mogu da se kombinuju ako zadovoljavaju uslov a i = b i za svako i=1, 2,..., k-2, i a k-1 b k-1 Primer? 26

Formiranje i potkresivanje skupa kandidata Primer formiranja F k-1 F k-1 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

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 1 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 15 kandidatskih skupova stavki dužine 3: {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} 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 1,4,7 2,5,8 1 4 5 1 2 4 4 5 7 1 2 5 4 5 8 2 3 4 5 6 7 3 4 5 3 5 6 1 3 6 3 5 7 6 8 9 1 5 9 3 6 7 3 6 8 29

Pronalaženje pravila Heš funkcija pridruživanja: heš drvo Heš drvo kandidata 1,4,7 3,6,9 2,5,8 Heš na 1, 4 ili 7 1 4 5 1 3 6 1 2 4 1 2 5 1 5 9 4 5 7 4 5 8 2 3 4 5 6 7 3 4 5 3 5 6 3 5 7 6 8 9 3 6 7 3 6 8 30

Pronalaženje pravila Heš funkcija pridruživanja: heš drvo Heš drvo kandidata 1,4,7 3,6,9 2,5,8 Heš na 2, 5 ili 8 1 4 5 1 3 6 1 2 4 1 2 5 1 5 9 4 5 7 4 5 8 2 3 4 5 6 7 3 4 5 3 5 6 3 5 7 6 8 9 3 6 7 3 6 8 31

Pronalaženje pravila Heš funkcija pridruživanja: heš drvo Heš drvo kandidata 1,4,7 3,6,9 2,5,8 Heš na 3, 6 ili 9 1 4 5 1 3 6 1 2 4 1 2 5 1 5 9 4 5 7 4 5 8 2 3 4 5 6 7 3 4 5 3 5 6 3 5 7 6 8 9 3 6 7 3 6 8 32

Operacije sa podskupovima Za datu transakciju t koji su mogući podskupovi veličine 3? 33

Operacije sa podskupovima korišćenjem heš drveta 1 2 3 5 6 1 + 2 3 5 6 2 + 3 5 6 3 + 5 6 2 3 4 5 6 7 transakcija Heš funkcija 1,4,7 3,6,9 2,5,8 1 4 5 1 3 6 1 2 4 1 2 5 1 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 34

Operacije sa podskupovima korišćenjem heš drveta 1 2 3 5 6 transakcija Heš funkcija 1 2 + 1 3 + 3 5 6 5 6 1 + 2 3 5 6 2 + 3 5 6 3 + 5 6 1,4,7 2,5,8 3,6,9 1 5 + 6 2 3 4 5 6 7 1 4 5 1 3 6 1 2 4 1 2 5 1 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 35

Operacije sa podskupovima korišćenjem heš drveta 1 2 3 5 6 transakcija Heš funkcija 1 2 + 1 3 + 3 5 6 5 6 1 + 2 3 5 6 2 + 3 5 6 3 + 5 6 1,4,7 2,5,8 3,6,9 1 5 + 6 2 3 4 5 6 7 1 4 5 1 3 6 1 2 4 1 2 5 1 5 9 4 5 7 4 5 8 3 4 5 3 5 6 3 5 7 6 8 9 3 6 7 3 6 8 Transakcija se uparuje sa 11 od 15 kandidata 36

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 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 Broj čestih skupova stavki = 3 10 10 = 1 Potrebna je kompaktna reprezentacija k k 39

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 40

Zatvoreni skupovi stavki Skup stavki je zatvoren ako nijedan od njegovih neposrednih nadskupova nema istu podršku TID Items 1 {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 41

Maksimalni/zatvoreni skup stavki TID Items 1 ABC 2 ABCD 3 BCE 4 ACDE 5 DE null Ids transakcija 124 123 1234 245 345 A B C D E 12 124 24 4 123 2 3 24 34 45 AB AC AD AE BC BD BE CD CE DE 12 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

Maksimalni/zatvoreni skup stavki Najmanja podrška = 2 null Zatvoreni ali ne i maksimalni 124 123 1234 245 345 A B C D E Zatvoreni i maksimalni 12 124 24 4 123 2 3 24 34 45 AB AC AD AE BC BD BE CD CE DE 12 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 1,a 2,...,a n } {a 1,a 2,...,a n } Granica čestih skupova stavki {a 1,a 2,...,a n } (a) Opšte ka pojedinačnom (Apriori algoritam) (b) Pojedinačno ka opštem (c) Dvosmerno 45

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 BC AD 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 1 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 10 B Vertikalni raspored podataka A B C D E 1 1 2 2 1 4 2 3 4 3 5 5 4 5 6 6 7 8 9 7 8 9 8 10 9 48

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=1: null TID Stavke 1 {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} 10 {B,C,E} B:1 Posle čitanja TID=2: null A:1 B:1 A:1 B:1 C:1 D:1 50

Konstrukcija FP-drveta TID Stavke 1 {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} 10 {B,C,E} Baza podataka sa transakcijama B:5 A:7 C:1 null D:1 B:3 C:3 Header table Stavka A B C D E Pokazivač C:3 D:1 D:1 D:1 E:1 D:1 E:1 Pokazivači se koriste kao pomoć pri formiranju čestih skupova stavki E:1 51

FP-rast D:1 C:3 B:5 A:7 D:1 null C:1 D:1 D:1 B:1 C:1 D:1 Uslovni osnovni uzorci za D: P = {(A:1,B:1,C:1), (A:1,B:1), (A:1,C:1), (A:1), (B:1,C:1)} Rekurzivno se primeni FPrast na P Pronañeni su česti skupovi stavki (sa podrškom > 1): 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

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

58 Primena interesantnosti mere Featur e Prod uct Prod uct Prod uct Prod uct Prod uct Prod uct Prod uct Prod uct Prod uct Prod uct Featur e Featur e Featur e Featur e Featur e Featur e Featur e Featur e Featur e Selection Preprocessing Mining Postprocessing Data Selected Data Preprocessed Data Patterns Knowledge Interesantost mere

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 11 Y f 10 f 01 f 00 f o+ f +1 T f +0 f 1+ f 11 : podrška za X i Y f 10 : podrška za X i Y f 01 : podrška za X i Y f 00 : podrška za X i Y Tabela kontingenata za X Y Koristi se za definisanje različitih mera podrška, pouzdanost, Gini, J-mera, itd. 59

Nedostaci pouzdanosti Kafa Kafa Čaj 15 5 20 Čaj 75 5 80 90 10 100 Pravilo pridruživanja: Čaj Kafa Pouzdanost= P(Kafa Čaj) = 0.75 Pošto je P(Kafa) = 0.9 Bez obzira na visoku pozdanost, pravilo je pogrešno P(Kafa Čaj) = 0.9375 60

Statistička nezavisnost Populacija od 1000 studenata 600 studenata zna da pliva (S) 700 studenata zna da vozi bicikl (B) 420 studenata zna i da pliva i da vozi bicikl (S,B) P(S B) = 420/1000 = 0.42 P(S) P(B) = 0.6 0.7 = 0.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 61

62 Statistički zasnovane mere Mere koje uzimaju u obzir statističku zavisnost )] ( )[1 ( )] ( )[1 ( ) ( ) ( ), ( ) ( ) ( ), ( ) ( ) ( ), ( ) ( ) ( Y P Y P X P X P Y P X P Y X P coefficient Y P X P Y X P PS Y P X P Y X P Interest Y P X Y P Lift = = = = φ

Primer: Lift/Interest Kafa Kafa Čaj 15 5 20 Čaj 75 5 80 90 10 100 Pravilo pridruživanja: Čaj Kafa Pouzdanost= P(Kafa Čaj) = 0.75 Pošto je P(Kafa) = 0.9 Lift = 0.75/0.9= 0.8333 (< 1, prema tome je negativno pridruženo) 63

Nedostaci Lift & Interest Y Y Y Y X 10 0 10 X 90 0 90 X 0 90 90 X 0 10 10 10 90 100 90 10 100 0.1 Lift = = 10 0.9 Lift = = 1. 11 (0.1)(0.1) (0.9)(0.9) Statistička nezavisnost: Ako je P(X,Y)=P(X)P(Y) => Lift = 1 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) = 0 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

Poreñenje različitih mera 10 primera u tabeli kontingenata: Rangiranje tabele kontingenata pomoću različitih mera Exam ple f 11 f 10 f 01 f 00 E1 8123 83 424 1370 E2 8330 2 622 1046 E3 9481 94 127 298 E4 3954 3080 5 2961 E5 2886 1363 1320 4431 E6 1500 2000 500 6000 E7 4000 2000 1000 3000 E8 4000 2000 2000 2000 E9 1720 7121 5 1154 E10 61 2483 4 7452 67

Osobine u slučaju permutacije promenljivih B B A p q A r s A A B p r B q s Da li važi M(A,B) = M(B,A)? Simetrične mere: 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, 1968): Muški Ženski Muški Ženski Najviša 2 3 5 Najviša 4 30 34 Najniža 1 4 5 Najniža 2 40 42 3 7 10 6 70 76 2x 10x Mosteller: Pridruživanje treba da bude nezavisno od relativnog broja muških i ženskih studenata u primeru 69

70 Osobine u slučaju inverzije operacija 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 A B C D (a) (b) 0 1 1 1 1 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 (c) E F Transakcija 1 Transakcija N.....

Primer: φ-koeficijent φ-koeficijent je analogan koeficijentu korelacije za neprekidne promenljive Y Y Y Y X 60 10 70 X 20 10 30 X 10 20 30 X 10 60 70 70 30 100 30 70 100 φ = = 0.6 0.7 0.7 0.7 0.3 0.7 0.3 0.5238 φ = 0.2 0.3 0.3 0.7 0.3 0.7 0.3 0.5238 φ koeficijent ima istu vrednost za obe tabele = 71

Osobine u slučaju dodavanja praznih slogova B B A p q A r s B B A p q A r s + k Invarijantne mere: podrška, kosinusna mera, Žakard, itd. Mere koje nisu invarijantne: korelacija, Gini, mutual information, odds ratio, itd. 72

Različite mere i njihove osobine Sym bol M e as ure Range P1 P2 P3 O1 O2 O3 O3' O4 Φ Correlation -1 0 1 Yes Y es Yes Yes No Yes Yes No λ Lambda 0 1 Yes No No Yes No No* Yes No α Odds ratio 0 1 Yes* Yes Yes Yes Yes Yes* Yes No Q Yule's Q -1 0 1 Yes Y es Yes Yes Y es Yes Yes No Y Yule's Y -1 0 1 Yes Y es Yes Yes Y es Yes Yes No κ Cohen's -1 0 1 Yes Y es Yes Yes No No Yes No M Mutual Inf ormation 0 1 Yes Y es Yes Yes No No* Yes No J J-Measure 0 1 Yes No No No No No No No G Gini Index 0 1 Yes No No No No No* Yes No s Support 0 1 No Y es No Yes No No No No c Conf idence 0 1 No Y es No Yes No No No Yes L Laplace 0 1 No Y es No Yes No No No No V Conviction 0.5 1 No Y es No Yes** No No Yes No I Interest 0 1 Yes* Yes Yes Yes No No No No IS IS (cosine) 0.. 1 No Y es Yes Yes No No No Yes PS Piatetsky-Shapiro's -0.25 0 0.25 Yes Y es Yes Yes No Yes Yes No F Certainty f actor -1 0 1 Yes Y es Yes No No No Yes No AV Added value 0.5 1 1 Yes Y es Yes No No No No No S Collective strength 0 1 No Y es Yes Yes No Yes* Yes No ζ Jaccard 0.. 1 No Y es Yes Yes No No No Yes 2 1 2 K Klosgen's 1 2 3 Κ 0Κ Yes Y es Yes No No No No No 3 3 3 3 73