DUBINSKA ANALIZA PODATAKA () ASOCIJACIJSKA PRAVILA (ENGL. ASSOCIATION RULE) Studeni 2018. Mario Somek
SADRŽAJ Asocijacijska pravila? Oblici učenja pravila Podaci za analizu Algoritam Primjer Izvođenje pravila Vizualizacija rezultata Prednosti i nedostaci 2
ŠTO SU ASOCIJACIJSKA PRAVILA Jedna od metoda za provođenje dubinske analize podataka (). Omogućuje primjenom odgovarajućeg algoritma pronalaženje korisniku zanimljivih i čestih uzoraka/asocijacija u skupu podataka. Za provođenje koristi se Apriori algoritam. Ostale metode: Stablo odlučivanja, Naivni Bayes, Klastering, Linearna regresija... http://www.kdnuggets.com/2016/09/pollalgorithms-used-data-scientists.html 3
ŠTO SU ASOCIJACIJSKA PRAVILA Pravila pridruživanja u osnovici daju vezu između atributa. AKO (Tjel. temperatura.visoka) TADA (Rizik upale.visok) (potpora, pouzdanost). Za dobivanje tzv. čvrstih pravila prije provođenja postupka definiraju se: potpora (engl. support), pouzdanost (engl. confidence). 4
ŠTO SU ASOCIJACIJSKA PRAVILA Primjer Apriori algoritam u funkciji otkrivanja negativnih posljedica lijekova u zdravstvu. Algoritam se primjenjuje za pronalaženje-ispitivanje postojanja uzoraka, povezanosti osobina pacijenata, lijekova koje pacijenti koriste, dijagnoze i sl. Analiza dovodi do asocijacijskih pravila koja ukazuju na kombinacije lijekova i osobina pacijenata koje dovode do negativnih posljedica lijekova. SAŽETAK 5
OBLICI UČENJA PRAVILA Prediktivno i deskriptivno (asocijativno) učenje. Prediktivno: Poznata je ciljna varijabla, oblik ciljne varijable ima 2 ili više klasa/vrijednosti (idealno dvije klase), zanimaju nas modeli (pravila) koji razdvajaju te klase, AKO (ZANIMANJE=radnik) i (TEŽINA>75) = PUŠAČ. 6
OBLICI UČENJA PRAVILA Deskriptivno (asocijativno): nije definirana ciljna varijabla/atribut, zanimaju nas sve značajne veze (pravila) među varijablama koje postoje, Npr. PUŠAČ=da i SPOL=muški (često se pojavljuje zajedno). SAŽETAK 7
PODACI ZA ANALIZU Podaci za analizu moraju biti kategorički (tekstualni). Potrebno izostaviti nekvalitetne podatke. Skup podataka može doći u obliku: Transakcijskom a, b a, c, d c, e, f Tabličnom Atrib1 Atrib2 Atrib3 c b a a c d 8
PODACI ZA ANALIZU Tablični oblik podataka mora se prevesti u transakcijski. Tablični Atrib1 Atrib2 Atrib3 c b a a c d Transakcijski (Atrib1, c) (Atrib2, b) (Atrib3, a) (Atrib1, a) (Atrib2, c) (Atrib3, d) 9
ALGORITAM Apriori-osobine Algoritam za učenje, stvaranje asocijacijskih pravila. Radi s podacima iz baza podataka koji su predočeni u obliku transakcija. Uvjet/pretpostavka je da su podaci kategorički (tekstualni). Nije pogodan za rad s brojčanim podacima. SAŽETAK 10
ALGORITAM Apriori potpora (engl. support) Određivanje frekvencije pojave pojedine vrijednosti potpora (engl. support). Koliko puta se pojedina vrijednost pojavljuje u skupu podataka koji se analizira. Može se iskazati brojčano (0-1) ili u %. (1,2,3,4), (1,3,4), (2,3,4), (2,3,4), (1,2,4) 1 3 puta, 3/5=0,6 (60%) 2 4 puta, 4/5=0,8 (80%) 3 -? 4 -? 11
ALGORITAM Apriori Primjer vrijednosti zapisa u bazi podataka: (1,2,3,4), (1,3,4), (2,3,4), (2,3,4), (1,2,4), Određivanje frekvencije pojave pojedine vrijednosti potpora (engl. support). Odrediti minimalnu potporu, npr. 4 1 3 puta se pojavljuje 2 4 puta 3 4 puta 4 5 puta 12
ALGORITAM Apriori Prema potpori min 4, vrijednost 1 samostalno ili u kombinaciji u daljnjim koracima se ne razmatra. 1 3 puta se pojavljuje 2 4 puta 3 4 puta 4 4 puta U idućem koraku promatraju se pojave/frekvencije pojedinih parova. 13
ALGORITAM Apriori (1,2,3,4), (1,3,4), (2,3,4), (2,3,4), (1,2,4) Jedinica je u prvom prolazu eliminirana zbog min. podrške 4. (2,3) 3 puta se pojavljuje (2,4) 4 puta (3,4) 4 puta Dva para zadovoljavaju min. potporu. 14
ALGORITAM Apriori (1,2,3,4), (1,3,4), (2,3,4), (2,3,4), (1,2,4) U trećem koraku uz uvjet min. podrške 4, algoritam pretražuje učestalost pojave tri vrijednosti. (2,3,4) 3 puta se pojavljuje Algoritam u ovom slučaju staje jer niti jedan skup triju vrijednosti ne zadovoljava min. potporu 4. SAŽETAK 15
ALGORITAM Apriori ID ATRIBUTI 1 A,B,E 2 B,D 3 B,C 4 A,B,D 5 A,C 6 B,C 7 A,C 8 A,B,C,E 9 A,B,C Potpora (redoslijed atributa nebitan). Support (A,B,E) = 2 Support (B,E) = 4 Support (B,C) =? Support (C,E) =? Support (A,B,C,E) =? 16
ALGORITAM Apriori Drugi parametar nakon uvjeta potpore je pouzdanost (engl. confidence). Sve relacije veće pouzdanosti (npr. > 75%) generiraju pravilo oblika AKO 1 i 2 - ONDA 3. Cilj : pronaći pravila koja udovoljavaju postavljenim zahtjevima min potpore i min pouzdanosti. 17
ALGORITAM Apriori pouzdanost (engl. confidence) ID ATRIBUTI 1 A,B,E 2 B,D 3 B,C 4 A,B,D 5 A,C 6 B,C 7 A,C 8 A,B,C,E 9 A,B,C Pouzdanost za skup atributa (A,B,E): A B,E 2/6 = 33% B A,E 2/7 = 28% C A,B?/? =?% A,B C 2/4 = 50% A,C B?/? =?% B,C A?/? =?% A,E B?/? =?% B,E A?/? =?% 18
ALGORITAM Apriori pouzdanost (engl. confidence) ID ATRIBUTI 1 A,B,E 2 B,D 3 B,C 4 A,B,D 5 A,C 6 B,C 7 A,C 8 A,B,C,E 9 A,B,C Pouzdanost za skup atributa (A,B,E): Cilj : pronaći pravila koja udovoljavaju postavljenim zahtjevima: min podrške i min pouzdanosti. Sve manje <50% se izostavlja (minconf <0,5). 19
ALGORITAM Apriori pouzdanost (engl. confidence) ID ATRIBUTI 1 A,B,E 2 B,D 3 B,C 4 A,B,D 5 A,C 6 B,C 7 A,C 8 A,B,C,E 9 A,B,C Pouzdanost za skup atributa (A,B,E), <50%: A B,E 2/6 = 33% B A,E 2/7 = 28% C A,B 2/6 = 33% A,B C 2/4 = 50% A,C B 2/4 = 50% B,C A 2/4 = 50% A,E B 2/2 = 100% B,E A 2/2 = 100% SAŽETAK 20
ALGORITAM Minsup eliminira vrijednosti atributa koje se rijetko pojavljuju. Mali minsup: mnogo pravila, velik broj pravila s visokim minconf. Visoka vrijednost minsup: malo/nula! pravila, malo/nula! pravila s visokim minsup. 21
PRIMJER Prediktivno učenje, ciljni atribut s dvije vrijednosti. Programska podrška RapidMiner5, www.rapidminer.com. Odabir kvalitetnih podataka iz tablično strukturiranog skupa podataka. 10 zapisa, 3 zavisna i jedan ciljni atribut. Više podataka dovodi do vjerodostojnijih rezultata. Cilj: pronaći vrijednosti (ili više njih) atributa kod koji je vrijednost ciljnog atributa DA. 22
PRIMJER polazni skup podataka ENTITET AT1 AT2 AT3 RIZIK Pac1 5,1 3,5 1,4 DA Pac2 4,6 3 1,4 DA Pac3 4,7 3,2 1,3 NE Pac4 4,6 3,1 1,5 NE Pac5 5 3,6 1,4 DA Pac6 5,4 3,9 1,7 NE Pac7 4,6 3,6 1,4 DA Pac8 5,1 3,4 1,5 DA Pac9 4,4 2,9 1,4 DA Pac10 4,9 3,1 1,5 NE 23
PRIMJER slika procesa 24
PRIMJER uvoz podataka Uvoz tablično strukturiranih i kvalitetnih podataka u aplikaciju RM5. Definiranje ciljnog i zavisnih atributa. Definiranje područja naziva atributa. ENTITET AT1 AT2 AT3 RIZIK Pac1 5,1 3,5 1,4 DA Pac2 4,6 3 1,4 DA 25
PRIMJER predprocesiranje Predprocesiranje podataka: Frekvencijsko razdvajanje. Numerički binominalni. AT1 AT2 2 6 5 5 6 2 7 7 4 8 3 4 7 3 5 5 2 2 6 6 26
PRIMJER predprocesiranje Predprocesiranje podataka: Frekvencijsko razdvajanje. Numerički binominalni. AT1 AT2 2 6 5 5 6 2 7 7 4 8 3 4 7 3 5 5 2 9 6 6 27
PRIMJER predprocesiranje Frekvencijsko razdvajanje (frequency discretization). ENTITET AT1 AT1 range1 [- - 4,8] Ili < 4,8 ENTITET AT1 Pac1 5,1 Pac2 4,6 Pac3 4,7 Pac4 4,6 Pac5 5 Pac6 5,4 Pac7 4,6 Pac8 5,1 Pac9 4,4 Pac10 4,9 AT1 range2 [4,8 - ] Ili > 4,8 Pac1 >4,8 Pac2 <4,8 Pac3 <4,8 Pac4 <4,8 Pac5 >4,8 Pac6 >4,8 Pac7 <4,8 Pac8 >4,8 Pac9 <4,8 Pac10 >4,8 28
PRIMJER predprocesiranje Frekvencijsko razdvajanje po atributu AT2 i AT3? ENTITET AT2 AT2 range1 [- - 3,3] Ili < 3,3 ENTITET AT2 Pac1 3,5 Pac2 3 Pac3 3,2 Pac4 3,1 Pac5 3,6 Pac6 3,9 Pac7 3,6 Pac8 3,4 Pac9 2,9 Pac10 3,1 AT2 range2 [3,3 - ] Ili > 3,3 Pac1 Pac2 Pac3 Pac4 Pac5 Pac6 Pac7 Pac8 Pac9 Pac10 29
PRIMJER slika procesa ENTITET AT1 AT2 AT3 RIZIK Pac1 >4,8 >3,3 <1,45 DA Pac2 <4,8 <3,3 <1,45 DA Pac3 <4,8 <3,3 <1,45 NE Pac4 <4,8 <3,3 >1,45 NE Pac5 >4,8 >3,3 <1,45 DA Pac6 >4,8 >3,3 >1,45 NE Pac7 <4,8 >3,3 <1,45 DA Pac8 >4,8 >3,3 >1,45 DA Pac9 <4,8 <3,3 <1,45 DA Pac10 >4,8 <3,3 >1,45 NE 30
PRIMJER polazni skup podataka ENTITET AT1 AT2 AT3 RIZIK Pac1 5,1 3,5 1,4 DA Pac2 4,6 3 1,4 DA Pac3 4,7 3,2 1,3 NE Pac4 4,6 3,1 1,5 NE Pac5 5 3,6 1,4 DA Pac6 5,4 3,9 1,7 NE Pac7 4,6 3,6 1,4 DA Pac8 5,1 3,4 1,5 DA Pac9 4,4 2,9 1,4 DA Pac10 4,9 3,1 1,5 NE 31
PRIMJER predprocesiranje Pretvaranje numeričkih podataka u binominalne AT1. ENTITET AT1 ENTITET AT1 [<4,8] AT1 [>4,8] Pac1 >4,8 Pac1 istina Pac2 <4,8 Pac2 istina Pac3 <4,8 Pac3 Istina Pac4 <4,8 Pac4 Istina Pac5 >4,8 Pac5 istina Pac6 >4,8 Pac6 istina Pac7 <4,8 Pac7 istina Pac8 >4,8 Pac8 istina Pac9 <4,8 Pac9 istina Pac10 >4,8 Pac10 istina 32
PRIMJER predprocesiranje Pretvaranje numeričkih podataka u binominalne AT2. ENTITET AT2 ENTITET AT2 [<3,3] AT2 [>3,3] Pac1 >3,3 Pac1 Pac2 <3,3 Pac2 Pac3 <3,3 Pac3 Pac4 <3,3 Pac4 Pac5 >3,3 Pac5 Pac6 >3,3 Pac6 Pac7 >3,3 Pac7 Pac8 >3,3 Pac8 Pac9 <3,3 Pac9 Pac10 <3,3 Pac10 33
PRIMJER predprocesiranje SAŽETAK 34
PRIMJER predprocesiranje Prikaz meta podataka (podaci o podacima). Uloge atributa. Podatkovni primjer: 10 primjera, 2 posebna i 6 redovnih atributa. 35
PRIMJER slika procesa 36
PRIMJER učestalost pojava Primjena FPGrowth algoritma. Pronalazi učestalost vrijednosti atributa (i parova). Definira se minsupport. Izvođenje asocijacijskih pravila temeljem ulaznih parametara: min. potpora (minsupport) i min. pouzdanost (minconfidence). 37
IZVOĐENJE PRAVILA Tablični prikaz rezultata izvedenih pravila. Ostala pravila ne zadovoljavaju kriterije. 38
IZVOĐENJE PRAVILA Tekstualni prikaz pravila: P1: [AT1=range1[- - 4.8]] [AT3=range1[- - 1.45]] (confidence: 0.80) P2: [AT2=range2[3.30 - ]] [AT1=range2[4.80 - ]] (confidence: 0.80) 39
IZVOĐENJE PRAVILA Tekstualni prikaz preostalih pravila. AT1range2[... AT2range1[... AT1range1[... SAŽETAK 40
VIZUALIZACIJA REZULTATA Grafički prikaz pravila atributa AT1 i AT2 (ISOM vrsta prikaza). [AT2=range2[3.30 - ]] [AT1=range2[4.80 - ]] (confidence: 0.80) Pravila 2 i 3 vrijede za utvrđivanje odnosa atributa AT1 i AT2. 41
VIZUALIZACIJA REZULTATA Grafički prikaz pravila atributa AT1 i AT3. Koja pravila vrijede? Kako glase tekstualna pravila? SAŽETAK 42
PREDNOSTI I NEDOSTACI Prednosti: otkriva sve značajne veze atributa, radi brzo s velikim skupovima podataka, jednostavan algoritam. Nedostaci radi samo s kategoričkim podacima, generira se veliki broj rezultata, pri postavljanju minsupport pretpostavka je da su podaci iste vrste/prirode i da imaju jednake frekvencijske razrede, prilagodba podataka, predprocesiranje. 43
PREDNOSTI I NEDOSTACI Nedostaci Ukoliko imamo mnogo različitih vrijednosti javljaju se problemi: Minsup prevelika - neće se izvesti pravila s vrijednostima atributa koji se rijetko pojavljuju. Za pronalaženje pravila koja uključuju i učestale i rijetke vrijednost atributa, minsup treba biti mala, a to može dovesti do previše pravila u svim mogućim kombinacijama. SAŽETAK 44
SAŽETAK Ne postoji jedan idealni postupak učenja pravila. Teško je postići optimalnu prediktivnu točnost. Područje je predmet istraživanja i stalnog usavršavanja. 45
SAŽETAK Što su? Oblici učenja kod? Algoritam minsup minconf Predprocesiranje Vizualizacija Izvođenje pravila Prednosti i nedostaci 46
KRAJ mariosomek@gmail.com 47