SVEUČILIŠTE U MOSTARU FAKULTET PRIRODOSLOVNO-MATEMATIČKIH I ODGOJNIH ZNANOSTI INFORMATIKA Martina Nevistić Rudarenje podataka korištenjem metode stabla odlučivanja Diplomski rad Mostar, 2014. SVEUČILIŠTE U MOSTARU FAKULTET PRIRODOSLOVNO-MATEMATIČKIH I ODGOJNIH ZNANOSTI INFORMATIKA Rudarenje podataka korištenjem metode stabla odlučivanja Diplomski rad Mentor: Dr.sc. Goran Kraljević Student: Martina Nevistić Mostar, srpanj 2014. SADRŽAJ: 1. UVOD .......................................................................................... 1 2. RUDARENJE PODATAKA ..................................................... 3 2.1. Upotreba rudarenja podataka ...................................................................... 5 2.2. Metode rudarenja podataka ......................................................................... 7 2.3. Programi za rudarenje podataka................................................................ 14 2.4. Proces rudarenja podataka ........................................................................ 17 3. STABLA ODLUČIVANJA ..................................................... 23 3.1. Prednosti i nedostaci metode stabla odlučivanja ...................................... 26 3.2. Algoritmi u metodi stabla odlučivanja ...................................................... 28 3.3. Problem u modeliranju podatka - Overfiting .......................................... 31 4. PRIMJER RUDARENJA PODATAKA ................................ 32 4.1. Programski paket - Weka .......................................................................... 32 4.2. Primjer rudarenja podataka korištenjem stabla odlučivanja ..................... 38 5. ZAKLJUČAK ........................................................................... 46 6. LITERATURA ......................................................................... 47 PRILOG ........................................................................................ 48 Rudarenje podataka korištenjem metode stabla odlučivanja 1. UVOD Poduzeća prikupljaju velike količine podataka potrebnih za svoje poslovanje. Međutim, nas zanima, postoje li još nekakve dodatne informacije u tim već prikupljenim i poznatim podatcima koje mogu biti korisne za poslovanje nekog poduzeća. Rudarenje je mnogo više od kopanja, nije cilj kopati, već odvojiti korisno od nekorisnog. Kod rudarenja podataka iz mase podataka treba izdvojiti male dijelove koji predstavljaju znanje, a onda dodatnom obradom stvoriti novo znanje, pa doći i do novih tehnoloških otkrića. U pojmovnom razlikovanju znanja od podataka, znanje se sastoji od činjenica, pretpostavki i vjerovanja, ali posebno važno i od načina kako ih upotrijebiti. Ogromne baze podataka bogate su podacima, ali i siromašne informacijama koje su skrivene u pohranjenim podacima. Upravo je rudarenje podataka to koje pomaže otkriti važne informacije i znanje utkano u podatke, uvelike pridonoseći donošenju odluka, poslovanju i znanosti. Pored osnovnih podataka o rudarenju podataka osvrnut ćemo se na stabla odlučivanja koja su glavna teza ovog diplomskog rada. Stabla odluke funkcioniraju na način da se na temelju odlučivanja zasnovanih na poznatih situacijama i odlukama konstruira stablo odlučivanja. Najširu primjenu ima za rješavanje prediktivnih problema uz nadzor učenja. Uz stabla odlučivanja obradit ćemo važnije algoritme ko što su Cart, C5.0, Chaid i jedan od najvažniji problema stabla odlučivanja, overfiting. Obradit ćemo i open-source alat Weka. Alat WEKA razvijen na sveučilištu Waikato na Novom Zelandu [WITF1999]. Programski paket WEKA ima poseban ARFF format datoteka za spremanje skupova podataka. Osnovna karakteristika ovog formata podataka je da postoji definicija imena i tipa atributa. Sve definicije atributa navode se ispred samih podataka koji započinju nakon oznake „@data“. 1 Rudarenje podataka korištenjem metode stabla odlučivanja Weka omogućuje cijeli proces rudarenja podacima, koji uključuje pripremu ulaznih podataka, statističku evaluaciju procesa učenja i vizualizaciju ulaznih podatka i rezultata strojnog učenja. U praktičnom dijelu rada realiziran je primjer temeljen na podacima zoološkog vrta koje ćemo analizirati korištenjem navedenog programskog paketa - Weka. 2 Rudarenje podataka korištenjem metode stabla odlučivanja 2. RUDARENJE PODATAKA Rudarenje podataka (eng. data mininig) je proces pronalaženja novog i potencijalno korisnog znanja iz podataka, odnosno kao otkrivanje ili rudarenje znanja iz velike količine podataka1. Bolji bi izraz možda bio rudarenje znanja iz podataka gdje se rudarenje odnosi na ono što se pronalazi kao rezultat tog procesa. Rudarenje podataka je prirodna evolucija tehnologije, a koja upotrebljava koncepte, metode i tehnike različitih disciplina kao što su baze podataka, statistika i umjetna inteligencija. Tehnologija baza podataka se razvila iz primitivnih u sofisticirane i moćne sustave baza podataka kakve danas poznajemo. Taj razvoj omogućio je bilježenje i sakupljanje ogromnih količina podataka što je neizbježno dovelo i do potrebe obrade i analize tih podataka, a sve u svrhu dobivanja korisnih informacija i znanja. Današnja informacijska tehnologija omogućila nam je bilježenje svake aktivnosti u obliku digitalnih podataka, a količina sakupljenih podataka u mnogim bazama mjeri se u gigabajtima ili terabajtima. Ogromne baze podataka bogate su podacima, ali i siromašne informacijama koje su skrivene u pohranjenim podacima. Upravo je rudarenje podataka to koje pomaže otkriti važne informacije i znanje utkano u podatke, uvelike pridonoseći donošenju odluka, poslovanju i znanosti. Rudarenjem se, također, otkrivaju odnosi, logičnost, pravilnost te općenito bilo kakve strukture među podacima. Rudarenje podrazumijeva organiziranje baza čišćenjem podataka kako bi se pristupilo znanju i stjecanju istog na temelju postojećih podataka u bazama2. Razvoj tehnologije, računala, interneta bitno doprinosi lakšem organiziranju podataka, no da bi oni postali korisni, potrebno je njihovo pretvaranje u informacije i znanje. 1 Čačić, V. i Varga, M. (2004). Informacijska tehnologija u poslovanju. Zagreb: Element, str. 39. 2 Williams, G. (2011). Data Mining with Rattle and R. Florida: Springer, str. 119. 3 Rudarenje podataka korištenjem metode stabla odlučivanja Termin rudarenja često se poistovjećuje sa dva različita procesa: otkrivanje i predviđanje znanja3. Proces otkrivanja znanja implicira korisnikovo razumijevanje eksplicitnih informacija za koje je bitno da su u čitljivom obliku. Predviđanje se odnosi na buduće događaje i u nekim pristupima može biti čitljivo i prozirno dok u drugim neprovidno. 3 Pudi, V. and Krishna, R. (2009). Data Mining. Oxford: Oxford University Press, str. 122. 4 Rudarenje podataka korištenjem metode stabla odlučivanja 2.1. Upotreba rudarenja podataka U poslovanju rudarenje podataka se najviše koristi na području marketinga, koji je usmjeren sve više pojedinačnom kupcu - upravljanje odnosima s kupcima (eng. Customer Relationship Management - CRM) koje je usmjereno stvaranju, održavanju ili poboljšavanju odnosa s kupcima4. Cilj ove pojedinačne usmjerenosti na kupca jeste pridobivanje novih kupaca i zadržavanje starih kupaca. CRM pokušava uvidjeti želje i potrebe kupaca, razumjeti njihovo ponašanje te predvidjeti buduće ponašanje. Na ovom području rudarenje podataka je posebno učinkovito, naravno uz dovoljnu količinu kvalitetnih podataka o kupcu. U marketingu, rudarenje podataka se najviše upotrebljava za5: 1. Direktni marketing: npr. katalozi i ponude različitih artikala se šalju kupcima za koje postoji najveća vjerojatnost odaziva; pozivi upućeni starijim generacijama (ugl. umirovljenicima) na prezentacije od 10-ak ljudi gdje prodajni putnici prodaju različite proizvode po tvorničkoj cijeni samo za njih večeras. Npr. prodaju proizvode od merino vune, proizvode koje ne štete našem zdravlju. 2. Izradu profila kupaca: utvrđuje se uzorak ponašanja kupaca da bi mu se kasnije poslala prilagođena ponuda. Npr. neće D&G slati svoje kataloge s odjećom po Retfali. 3. Segmentaciju: utvrđivanje grupa kupaca s jednakim karakteristika (uzorkom ponašanja). 4 Witten, I. H. and Eibe, F. (2011). Data Mining. San Francisco: Morgan kaufmann, str. 313. 5 Isti, str. 315. 5 Rudarenje podataka korištenjem metode stabla odlučivanja 4. Istraživanje povezanosti prodaje različitih proizvoda – analiza kupovne košarice što se može npr. upotrijebiti za raspoređivanje artikala na policama. Npr. u diskontu gdje se prodaju tehničke olovke, kraj njih će sigurno stajati i špicevi za te iste tehničke. Ili, kraj mapa za crtanje/likovni, u blizini te police sigurno će nalaziti vodene boje, tempere i sl. 5. Stimulacija kupovine drugih artikala istog poduzeća, odnosno veće količine sitih artikala, što može nadoknaditi pridobivanje novih kupaca. Kako ćemo ovo postići? Npr. uz dva kupljena Ariel-a (praška za rublje) dobivate na poklon omekšivač za rublje koji je stigao kao gratis u to poduzeće (ali kupci to naravno ne znaju). 6. Zadržavanje kupaca – ovo je puno jeftinije od pridobivanja novih kupaca. Za primjer možemo uzeti slanje reklamnih materijala te njihov odaziv na te kataloge. Postoje dvije mogućnosti kome ćemo kataloge uputiti, hoćemo li ih izabrati nasumično ili uz pomoć metode rudarenja podataka. 6 Rudarenje podataka korištenjem metode stabla odlučivanja 2.2. Metode rudarenja podataka U rudarenju podataka koriste se metode već poznate iz statistike, matematike i računovodstva. Među njima se najčešće koriste: 1. Metoda potrošne košarice: za ovu liniju je karakteristično da istraživači ili drugi stručnjaci prvo definiraju košaru dobara i usluga koje drže nužnima, a zatim se ukupna cijena ovih dobara i usluga određuje kao linija siromaštva. Ova metoda se danas službeno koristi u SAD-u, Austriji, Njemačkoj, Švedskoj6. Jedan od načina procjene ukupnih troškova je Engelov koeficijent. Engel je proučavajući obrasce obiteljske potrošnje u 19.st.primjetio da postoji obrnuti odnos između prihoda i postotaka ukupnih izdataka za prehranu. S porastom dohotka naglo se povećavaju izdaci za druge potrebe (kulturne, zdravstvene, higijenske) s time da ovi izdaci rastu brže nego dohodak. Engelov koeficijent bi bio broj koji označava udio izdataka za granu u ukupnom dohotku kućanstva. Drugi umjesto Engelovih koeficijenata koriste omjer između izdataka za granu i cjelokupnog dohotka kućanstva. Budžetska metoda ima prednost što je u načelo jednostavna-treba def.minimalni standard življenja i onda odrediti količinu potrebnih resursa. Ova je metoda bliska konceptu apsolutnog siro.i koristi objektivna mjerila siromaštva. Osnovna poteškoća je vezana za utvrđivanja sadržaja košare, sastav košare ovisi o socijalnim, ekonomskim i demografskim varijablama i osjetljiv je na promjene u platnim razlikama koje se događaju u ekonomiji. Temelji se na otkrivanju asocijativnih pravila koja pokazuju koji se parovi artikla i s kojom vjerojatnošću kupuju zajedno7. Npr. Kupac će uz proizvod A kupiti i proizvod B. 6 Čačić, V. i Varga, M. (2004). Informacijska tehnologija u poslovanju. Zagreb: Element, str. 42. 7 Williams, G. (2011). Data Mining with Rattle and R. Florida: Springer, str. 125. 7 Rudarenje podataka korištenjem metode stabla odlučivanja 2. Metoda najbližeg susjeda (računanje udaljenosti): Ova metoda omogućuje automatsko klasificiranje dokumenata. Npr. kad čitatelj pronađe neki zanimljivi članak, pomoću ove metode može pronaći i druge slične članke. Ovdje se ističu dva tipa, a to su: modeli rada i osnovnih procesa te funkcija udaljenosti i tip zadatka. U računanju udaljenosti obavljaju se zadaće utvrđivanja apsolutnih vrijednosti razlike, normalizacije apsolutne vrijednosti, Euklidska udaljenost i Manhattan udaljenost8. Euklidska udaljenost je najkraći razmak između dvije točke u jednom prostoru. U jednoj ravni je primjera radi definisana po Pitagorinoj teoremi. Udaljenost dvije točke (x, y) kod jednog pravouglog trougla9: Dužina horizontalne linije je kateta: Dužina vertikalne linije je kateta: Prema tome udaljenost je hipotenuza: S druge strane, Manhattan Udaljenost je udaljenost između dvije točke mjerene po osi pod pravim kutom. Naziv aludira na izgled rešetke od ulicama Manhattana, što uzrokuje najkraći put automobil mogao potrajati između dvije točke u gradu. Za 8-puzzle , ako je xi (i) i yi (i) su x i y koordinate pločica I u stanje s, a ako je gornja linija (xi) i gornja linija (yi) su X i Y koordinate pločica i na gol države, heuristička je: U sljedećem primjeru Manhattan Udaljenost je 3+6 = 9 potezi: 8 Williams, G. (2011). Data Mining with Rattle and R. Florida: Springer, str. 134. 9 Witten, I. H. and Eibe, F. (2011). Data Mining. San Francisco: Morgan kaufmann, str. 319. 8 Rudarenje podataka korištenjem metode stabla odlučivanja Radi lakšeg računanja udaljenosti upotrjebljava se transformacija iz nenumeričke vrijednosti u numeričku te se najčešće upotrijebljavaju za segmentaciju tržišta. 3. Grupiranje ili sjedinjavanje objekata sličnih osobina: jest razvrstavanje jedinki u skupine u kojima je postignuta njihova najveća sličnost (segmentacija kupaca: podatci o starosti, zanimanju, dosadašnjoj kupnji). Postoje dva tipa metode grupiranja, a to su K means klasteriranje i hijerarhijsko klasteriranje. Proces K means klasteriranja se sastoji od: odabir K segmenta, određivanje središta segmenta, pridruživanje elemenata na temelju udaljenosti središta, izračun nove vrijednosti središta s novim elementima te ponavljanje akcije dok se ne mijenja vrijednost središta. ovaj algoritam ima za cilj minimizirati je objektivna funkcija, u ovom slučaju kvadratna funkcija pogreške10. Objektivna funkcija11: gdje i klastera centru je izabrana udaljenost mjera između točke podataka , je pokazatelj udaljenosti od n točaka podataka do svojih središta klastera. Hijerarhijsko klasteriranje je metoda klastera koja nastoji izgraditi hijerarhiju klastera. Ovdje postoje dvije vrste, a to su: aglomerativno hijerarhijsko grupiranje koje podrazumijeva bottom up pristup u kojemu svako promatranje počinje u vlastitom klasteru12. 10 Williams, G. (2011). Data Mining with Rattle and R. Florida: Springer, str. 140. 11 Isti, str. 142. 12 Isti, str. 144. 9 Rudarenje podataka korištenjem metode stabla odlučivanja Kao drugi navodi se divizijsko hijerarhijsko grupiranje koji podrazumijeva top down odnosno sve primjedbe počinje u nekoj skupini. Kao glavna negativnost hijerahijskog klastera navodi se nemogućnost ponavljanja klasifikacije nakon podjele na klastere. 4. Stabla odlučivanja: Ova metoda funkcionira na način da se na temelju odlučivanja zasnovanih na poznatih situacijama i odlukama konstruira se stablo odlučivanja. Ova metoda omogućuje laku interpretaciju grafova-stabla. Osnovni cilj je određivanje varijanti i njihovih vrijednosti koji determiniraju neku pojavu ili skup pojava13. Obično se primjenjuju u određivanju sklonosti potrošača kupnji nekog proizvoda s obzirom na zadane atribute. Slika 1.: Primjer stabla odluke za kupnju jogurt 13 Witten, I. H. and Eibe, F. (2011). Data Mining. San Francisco: Morgan kaufmann, str. 321. 10 Rudarenje podataka korištenjem metode stabla odlučivanja 5. Bayesove mreže su grafički prikaz distribucija vjerojatnosti. Uglavnom se koriste za predstavljanje neodređenosti u raznim domenama na jednostavan i lako razumljiv način14. Razlikujemo tri vrste vjerojatnosti kod Bayesovih mreža15: A priori vjerojatnost - vjerojatnost se procjenjuje na temelju provjerenih modela koje nije potrebno provjeravati (primjer: postoji 50% vjerojatnosti da će bačeni novčić pasti na “pismo“ i 50% vjerojatnosti da će pasti na “glavu“). Uvjetna vjerojatnost - vjerojatnost da je nešto istina uz poznate dodatne informacije o svijetu (npr. siguran sam da me boli zub - koja je vjerojatnost karijesa). Združena vjerojatnost - kombinacija dva ili više događaja, za prikaz svih mogućih ishoda koristimo združenu distribuciju vjerojatnosti. Bayesova mreža ima određenih prednosti: odlična je za modeliranje vjerojatnosti, primjenjiva u stvarnim aplikacijama te kod ove mreže postoje gotove implementacije16 14 Williams, G. (2011). Data Mining with Rattle and R. Florida: Springer, str. 152. 15 Isto. 16 Isti, str. 168. 11 Rudarenje podataka korištenjem metode stabla odlučivanja Akcija Potreba Razmjere Primjerena visina Visina trave Suha Vrsta trave Ljetni sat Večer trava Slika 2.: Primjer Bayesove mreže 6. Asocijativna pravila: Ova pravila su pravila oblika AKO-TADA. Pokazuje vjerojatnost da jedan događaj veže uz sebe drugi događaj. Npr. Ako se dogodi A1, A2 i…An, tada se često dogodi B1, B2 i…Bn Ako smo kupili printer, tada ćemo kupiti i papir17. Drugim riječima, ova pravila su vezana za kupovinu stvari u paru, jer stvar A ne može funkcionirati bez stvari B i obrnuto. 17 Williams, G. (2011). Data Mining with Rattle and R. Florida: Springer, str. 171. 12 Rudarenje podataka korištenjem metode stabla odlučivanja 7. Neuronske mreže su zamišljene su da djeluju slično ljudskom mozgu. One se upotrebljavaju u analizi rizika i prognoziranju npr. vrijednosti dionica. Rudarenje podataka temeljeno na ovoj metodi počinje «učenjem» mreže pomoću podataka za koje je poznata vrijednost koju želimo prognozirati18. Nakon toga naučeno znanje se provjerava. Postupak učenja i provjere ponavlja se sve dok rezultati provjere ne budu zadovoljavajući. 8. Genetski algoritmi su temeljeni na ideji imitiranja pravila biološkog razvoja. Koriste se za optimizaciju i strojno učenje pri rješavanju problema. Prednost je mogućnost kreiranja generacije, genoma i modifikacija populacije19. 18 Isti, str. 173. 19 Isti, str. 210. 13 Rudarenje podataka korištenjem metode stabla odlučivanja 2.3. Programi za rudarenje podataka U ovom dijelu poglavlja obraditi ćemo programe koje su trenutno najkorišteniji u procesima rudarenja podataka. Programi za DM pojavljuju se u različitim oblicima i to kao samostalni programi koji podupiru samo jednu metodu kao što su neuronske mreže, zatim kao uklopljeni u programske sustave za razvoj aplikacija, onda kao samostalni alati za rudarenje, kao dio tj. modul drugih programskih sustava kao što je sustav za upravljanje bazama ili statističkih programskih paketa, ili kao gotova rješenja za pojedinačna problemska područja kao što je izrada profila kupca. Za korištenje DMS poslužitelja korisnik treba na svom računalu pripremiti podatke u obliku tablice sa N+1 redaka (N je broj primjera) i M stupaca (M je broj atributa koji opisuju primjere)20. U prvom redu tablice trebaju biti imena atributa. Tablica treba biti pohranjena u datoteci u običnom tekstualnom obliku koju je moguće čitati, pisati i mijenjati alatom kao što je Microsoft Wordpad. Podaci pripremljeni Microsoft Excel alatom trebaju se eksportirati u tekstualni oblik. Izbor atributa klase označava se stavljanjem uskličnika ('!') ispred naziva atributa21. Osim što je nužno odabrati ciljni atribut koji određuje klase primjera, potrebno je označiti i koji primjeri predstavljaju pozitivnu klasu koju želimo modelirati. Primjerice, mi želimo generirati model pušača te zbog toga se ispred svakog DA odgovora stavlja znak uskličnika (!), pa će to izgledati ovako !da ili !pušač. U slučaju da želimo generirati model(e) za klasu nepušača tada bismo uskličnik stavili ispred svakog 'ne' u tom stupcu. 20 Čačić, V. i Varga, M. (2004). Informacijska tehnologija u poslovanju. Zagreb: Element, str. 74. 21 Isti, str. 76. 14 Rudarenje podataka korištenjem metode stabla odlučivanja Ime Starost Spol Obrazovanje Zanimanje Težina Prihod Pušac Jan 30 M Visoko Radnik 90 14000 !da Ivano 55 M Više Profesor 75.5 1600 !da Zora 19 Ž Visoko Studentica 55 0 ne Marko 45 M Srednje Vozač 65 800 !da Tablica 1.: Podaci pripremljeni za analizu sa DMS poslužiteljem Programski alati za rudarenje podataka koji se upotrebljavaju u poslovnim primjenama dolaze iz područja programskih sustava namijenjenih upravljanju podatcima a to su22: 1. Alate iz područja statističkih programskih sustava: Enterprise Miner (SAS), Clementine (SPSS), 2. Specijalizirane alate za općenite/poslovne uporabe: Data Mining, Intelligent Miner (IMB), 3. Alate uključene u Warehousing: OLAP, 4. Alate uključene u sustav upravljanja podataka: Microsoft SQL Server Business Intelligence. 22 Čačić, V. i Varga, M. (2004). Informacijska tehnologija u poslovanju. Zagreb: Element, str. 94. 15 Rudarenje podataka korištenjem metode stabla odlučivanja Međutim, mogu se pojaviti greške u pripremi podataka. Iako je format pripreme podataka vrlo jednostavan, nužno je da se on dosljedno poštuje. Česte greške su izostavljanje vrijednosti koja je nepoznata (umjesto da se ona označi sa '?'), korištenje hrvatskih znakova 'č', 'ž' i ''š' što nije dopušteno, te korištenje decimalnog zareza umjesto decimalne točke23. U slučaju postojanja greške, indukcija se nede izvesti, a korisnik će dobiti obavijest o greški sa upozorenjem na mogući izvor problema. Način pripreme podataka i formalni uvjeti koje trebaju zadovoljavati podaci su detaljno prikazani na samom poslužitelju u dijelu koji je namijenjen novim korisnicima pod nazivom „Kako pripremiti datoteku“. One pokazuju kako izgleda formalno korektno pripremljena datoteka i to u raznim formatima u kojima je korišten razmak, zarez, točka-zarez, odnosno TAB kao znak razdvajanja podataka. Rad poslužitelja uvijek se može testirati tako da se prvo prenese neka od pripremljenih datoteka na vlastito računalo, a zatim se ona pošalje poslužitelju na analizu preko glavne stranice. 23 Williams, G. (2011). Data Mining with Rattle and R. Florida: Springer, str. 216. 16 Rudarenje podataka korištenjem metode stabla odlučivanja 2.4. Proces rudarenja podataka Proces rudarenja podataka sastoji se od više faza koje jedna osoba samostalno ne može izvršiti. Te faze, odnosno zadatke, možemo promatrati iz tri perspektive. Prva je problemska perspektiva koja je važna na samom početku i kraju rudarenja podataka24. Sastoji se od odabira problema, njegova definiranja te procjene i primjene znanja. Osoba koja obavlja ove zadatke može se jednostavno nazvati korisnik. Druga perspektiva je podatkovna i obuhvaća sve zadatke vezane uz pripremu podataka za njihovo rudarenje, a obavlja je informatičar25. Metodološka perspektiva, kao treća i posljednja, sastoji se od svih zadataka vezanih uz analizu podataka, metode selekcije, implementacije, prezentacije i interpretacije rezultata. Osoba zadužena za te zadatke je stručnjak rudarenja podataka (eng. data miner). Proces se odvija u nekoliko koraka: 1. KORAK: Definiranje problema Ovo je prvi korak kod rudarenja podataka. Znači treba se definirati problem koji se želi riješiti. Ako se problem loše definira, ne može se očekivati da će rudarenje u poslovnom smislu biti uspješno, iako rezultati analize mogu biti valjani. Ovdje možemo uzeti primjer pelena i piva26. Problem koji je ovdje bio postavljen jest pronaći artikle koji se često prodaju zajedno. Primjer dobrog definiranja problema je primjer banke s velikim brojem klijenata koji kasne s otplatama rata hipotekarnih kredita. Ovdje banka želi ustanoviti da li je moguće od podataka o zajmoprimci predvidjeti hoće li on kasniti s otplatama ili ne. 24 Witten, I. H. and Eibe, F. (2011). Data Mining. San Francisco: Morgan kaufmann, str. 25 Isto. 26 Isti, str. 343. 332. 17 Rudarenje podataka korištenjem metode stabla odlučivanja 2. KORAK: Prikupljanje i priprema podataka Iskustva iz prakse pokazuju da je najveći trud u procesu rudarenja potrebno uložiti u ovaj korak. Ovisno o kakvoći i organiziranosti podataka u organizaciji, uloženi rad u ovoj fazi kreće se od 50% do 80% cjelokupnog truda u procesu rudarenja27. Izbor i priprema podataka su kritične aktivnosti za konačni uspjeh projekta. Ovaj korak obuhvaća izbor izvora podataka, integraciju podataka iz različitih baza podataka, njihovo čišćenje i dodatno sakupljanje podataka koji su potrebni, a nisu trenutno raspoloživi28. 3. KORAK: Izabiranje metode rudarenja U ovom koraku se ne može znati najbolja metoda, jer sve ovisi o prirodi problema. Npr. neuronske mreže su najbolje obrazloženje neke pojave npr. vrijednost kuće, a u metoda stabla odlučivanja je pogodna za npr. analizu odobravanja kredita. Znači potrebno je u veći metoda rudarenja prvo eksperimentirati pa onda izabrati onu najbolju koja daje rezultate. 4. KORAK: Učenje Ovdje metoda uči na podatcima. Ovdje postoji opasnost da se uz previše učenja dobiju rezultati koji super odgovaraju podatcima na kojima je algoritam učio i izgradio model, a loše budućim podatcima A cilj modela je da se dobro ponaša na budućim podatcima. 5. KORAK: Interpretacija rezultata U ovom koraku analitičar na kraju odlučuje je li pravilo zanimljivo, relevantno i upotrebljivo za organizaciju. 27 Čačić, V. i Varga, M. (2004). Informacijska tehnologija u poslovanju. Zagreb: Element, str. 112. 28 Panian, Ž. i Klepac, G. (2003). Poslovna inteligencija. Zagreb: Masmedia, str. 69. 18 Rudarenje podataka korištenjem metode stabla odlučivanja U procesu rudarenja poželjno da sudjeluju29: 1. Informatičar – on brine o pripremi podataka, 2. Analitičar podataka – statističar. On brine o izboru metode i metodološkoj interpretaciji rezultata rudarenja, 3. Stručnjak – on mora biti poznavatelj poslovnog područja, koji definira poslovni problem, odabire relevantne podatke, interpretira rezultate i predlaže aktivnosti na temelju rezultata rudarenja, 4. Voditelj projekta - on planira i organizacijski vodi projekt rudarenja podataka. Istraživanja su pokazalo je da većina poduzeća koja traže stručnjaka rudarenja podataka dolaze iz IT sektora (43%), marketinga (19%) te iz bankarskog sektora i osiguranja (17%)30. Slika 3.: Prikaz djelatnika poduzeća koja zapošljavaju stručnjake za rudarenje podataka. 29 Čačić, V. i Varga, M. (2004). Informacijska tehnologija u poslovanju. Zagreb: Element, str. 98. 30 Williams, G. (2011). Data Mining with Rattle and R. Florida: Springer, str. 221. 19 Rudarenje podataka korištenjem metode stabla odlučivanja Položaj u poduzeću na koji se zapošljavaju nije jedinstven, no najčešće je to menadžer (20%), stručnjak rudarenja podataka (16%), statističar i/ili operacijski istraživač (12%), marketinški analitičar (10%) te softverski inžinjer/arhitekt (10%)31. Slika 4.: Naziv radnog mjesta Podjednaki broj poduzeća želi zaposliti osobe sa diplomom (40%) i magisterijem (40%). Prilično veliki broj poslodavaca traži i doktorat (20%). Vezano uz godine radnog iskustva rezultati pokazuju da su jednako traženi oni sa manje od 5 godina iskustva i oni sa 5 do 10 godina iskustva. Samo u 3% slučajeva zahtjeva se više od 10 godina iskustva32. 31 Williams, G. (2011). Data Mining with Rattle and R. Florida: Springer, str. 223. 32 Williams, G. (2011). Data Mining with Rattle and R. Florida: Springer, str. 241. 20 Rudarenje podataka korištenjem metode stabla odlučivanja Slika 5.: Prikaz potrebne stručne spreme u poduzeću Zadaci unutar procesa rudarenja podataka koji se očekuju od zaposlenika su najčešće prezentiranje rezultata (29%), izgradnja novih modela (15%) i priprema podataka (13%). Znanje klasifikacijske metode rudarenja podataka je najtraženije (18%)33. Metode predviđanja i statističke tehnike su jednako zastupljene sa po 8%. Znanje softvera koje je potrebno imati najviše odlazi na SQL (44%) i SAS (42%). Zanimljivo je spomenuti da specifični softver za rudarenje podataka (primjerice Clementine) se vrlo rijetko spominje. Dodatne vještine koje se zahtijevaju su analitičke vještine (42%), konzalting (19%), projektni menadžment (16%), profiliranje korisnika (15%) i iskustvo u području (15%)34. 33 34 Isti, str. 245. Isti, str. 248. 21 Rudarenje podataka korištenjem metode stabla odlučivanja Slika 6.: Prikaz radnih zadataka Kada uzmemo u obzir sve ovdje navedeno dolazimo do profila stručnjaka rudarenja podataka. To su osobe koje su najvjerojatnije zaposlene u IT sektoru, mnogi od njih rade na položaju menadžera i njihov posao je najčešće vezan uz prezentaciju rezultata i razvoj modela za rudarenje podataka. Vjerojatno se služe klasifikacijskom metodom, a od njih se zahtjeva i posjedovanje analitičkih vještina. 22 Rudarenje podataka korištenjem metode stabla odlučivanja 3. STABLA ODLUČIVANJA U procesu rudarenja podataka za probleme klasifikacije i predviđanja u većini slučajeva se koristi stablo odlučivanja. Koristi se za rješavanje prediktivnih problema uz nadzor učenja. Prediktivni problemi uključuju predviđanje vrijednosti ciljnih atributa (varijable) u budućnosti, prepoznavanje uzoraka, regresiju više značajki, razlikovnu analizu, procjenu funkcije više značajki i nadgledano učenje. Dapače, stabla odluke se najviše upotrebljavaju za rješavanje prediktivnih problema kod kojih se predviđa vrijednost binarne ciljne značajke (slučaj kada ciljna značajka ima dvije razine 0 ili 1). U tom slučaju metoda stabla odlučivanja se koristi za rješavanje jednostavnog nelinearnog problema u čemu je puno uspješnija od drugih data mining metoda. Jedna od bitnih svojstava stabla odlučivanja su što omogućuje čitanje podataka u razumljivom obliku, najčešće u obliku AKO-ONDA (IF-ELSE). Naravno, ovakav oblik se interpretira običnim jezikom, ali postoji i mogućnost korištenja jezika za rad s bazama podataka pod nazivom SQL. No, postoje situacije kada čitljivost modela nije od presudne važnosti. To se događa kada se određeni problemi tiču samo točnosti klasifikacije ili predikcije modela. Točnije možemo reći da generirani modeli moraju biti čitljivi za eksperte iz domene problema i oni moraju prepoznati i odobriti primjenu znanja sadržanog u novim modelima. No, stablo odlučivanja ima svoj način predočavanja, najčešće uz pomoć algoritama koji omogućavaju konstruiranje stabla odlučivanja. Stablo odlučivanja se predočava uz pomoć klasifikacijskog algoritma u formi stablaste strukture uz pomoć dva tipa čvorova koji su povezani granama. 23 Rudarenje podataka korištenjem metode stabla odlučivanja Među ta dva tipa ubrajaju se35: 1. Krajnji čvor s kojim se završava određena grana stabla. Oni definiraju klasu koja pripada primjeru koji zadovoljava uvjete na toj grani stabla. 2. Čvor odluke definira uvjet u obliku vrijednosti određene varijable iz koje izlaze grane koje zadovoljavaju određene vrijednosti tog atributa. Stablo odlučivanja u svojemu djelovanju može krenuti od čvora odlučivanja prema krajnjem čvoru ili obratno. Slika 7.: Primjer izgradnje binarnog stabla 35 Williams, G. (2011). Data Mining with Rattle and R. Florida: Springer, str. 336. 24 Rudarenje podataka korištenjem metode stabla odlučivanja Da bi stablo odlučivanja moglo djelotvorno djelovati potrebno je zadovoljiti osnovne preduvjete za njegovo korištenje. Među tim preduvjetima se ubrajaju36: 1. Opis u obliku parova vrijednosti-atributa - podaci o primjeru moraju biti opisani u obliku konačnog broja atributa; 2. Prethodno definiran konačan broj klasa (vrijednosti ciljnog atributa) - kategorije kojima primjeri pripadaju moraju biti definirane unaprijed i treba ih biti konačan broj; 3. Klase moraju biti diskretne - svaki primjer mora pripadati samo jednoj od postojećih klasa, kojih mora biti znatno manje negoli broja primjera; 4. Značajan broj primjera - obično je poželjno da u skupu primjera za generiranje stabla odlučivanja postoji barem nekoliko stotina primjera. 36 Isti, str. 338. 25 Rudarenje podataka korištenjem metode stabla odlučivanja 3.1. Prednosti i nedostaci metode stabla odlučivanja Prednosti metode stabla odlučivanja su37: 1. Sposobnost generiranja razumljivih modela; 2. Relativno mali zahtjevi na računalne resurse (vrijeme i memorija); 3. Sposobnost korištenja svih tipova atributa (kategorički, numerički); 4. Stabla odlučivanja jasno odražavaju važnost pojedinih atributa za konkretni klasifikacijski odnosno prediktivni problem. U pozitivne karakteristike metode stabla odlučivanja ubraja se i mogućnost rada s nedostajućim vrijednostima (missing values), koje se promatraju kao dodatna kategorija vrijednosti značajke. Kod upotrebe drugih metoda raspoznavanja uzoraka (regresije ili neuronskih mreža) nije moguće direktno koristiti nedostajuće vrijednosti pa se redak u kojem se one pojavljuju u bilo kojoj značajki odbacuje. Zbog postojanja dodatnog nivoa (vrijednosti) ulazne značajke, povećava se broj mogućih podjela pa je potrebna dodatna korekcija vrijednosti testova. Kako bi se stabla učinila što robusnija, dodana je mogućnost pronalaženja zamjene za svaku značajku pomoću koje je napravljena podjela (surogat). U tom slučaju, kod apliciranja modela na neviđene podatke, kada model naiđe na nedostajuću vrijednost značajke na kojoj treba napraviti podjelu, model će upotrijebiti zamjensku značajku. 37 Williams, G. (2011). Data Mining with Rattle and R. Florida: Springer, str. 348. 26 Rudarenje podataka korištenjem metode stabla odlučivanja Slabe strane metode stabla odlučivanja38: 1. Metode stabla odlučivanja su manje prikladne za probleme kod kojih se traži predikcija kontinuiranih vrijednosti ciljnog atributa; 2. Metode Stabla odlučivanja sklona su greškama u više-klasnim problemima sa relativno malim brojem primjera za učenje modela; 3. U nekim situacijama generiranje stabla odlučivanja može bit računalno zahtjevan problem. Sortiranje kandidata za testiranje na čvorovima stabla može biti zahtjevno, kao i metode 'skraćivanja' stabla, kod kojih je često potrebno generirati velik broj stabala da bi odabrali ono koje je najbolje za klasifikaciju primjera određenog problema; 4. Stabla odlučivanja nisu dobro rješenje za klasifikacijske probleme kod kojih su regije određenih klasa 'omeđene' nelinearnim krivuljama u višedimenzionalnom atributnom prostoru. Većina metoda stabla odlučivanja testiraju u svojim čvorovima vrijednosti jednog atributa, i time formiraju pravokutne regije i više-dimenzionalnom prostoru. Još jedan od nedostataka metode stabla odlučivanja je njezina nestabilnost, tj. mala promjena ulaznih podataka pomoću kojih se trenira model, može rezultirati velikim promjenama topologije stabla. Istovremeno performanse stabla će najvjerojatnije ostati približno iste. Nestabilnost se javlja zbog velikog broja mogućih podjela koje često imaju približno jednaku važnost (competitor splits). Zbog toga mala promjena podataka može dovesti do sasvim druge podjele, koja dalje unosi promjene u sve grane ispod sebe. 38 Witten, I. H. and Eibe, F. (2011). Data Mining. San Francisco: Morgan kaufmann, str. 512. 27 Rudarenje podataka korištenjem metode stabla odlučivanja 3.2. Algoritmi u metodi stabla odlučivanja Veoma bitan algoritam u stablu odlučivanja je svakako ID3. Navedeni algoritam je izumio Ross Quinlan te se koristi kao generiranje stabla odluke iz skupa. Ovaj algoritam je nastavak na prijašnji algoritam C4.5 te se koristi za strojno učenje i za obradu domena na prirodnom jeziku. ID3 algoritam počinje s izvornim skupom S kao korijenskim čvorom, to se provodi kroz neiskorišteni atributni set Si i izračunava na taj način entropije H(S) određenog atributa. Nakon čega se odabire atribut koji ima najmanju entropiju vrijednosti. Skup S se nakon toga dijeli od odabranog atributa za proizvodnju podskupova podataka. No, to se može zaustaviti u slijedećim slučajevima39: 1. Svaki element u podskupini pripada istoj klasi (+ ili -), a zatim se čvor pretvori u krilo i označi klasu primjera, 2. Nema atributa da bude izabran, ali primjeri još uvijek ne pripadaju istoj klasi odnosno neki su +, a neki -. Zatim se čvor pretvori u krilo i označava klasu od primjera. 3. Nema primjera u podgrupama, to se događa kada nema primjera u skupu zbog toga se treba poduprijeti određena vrijednost određenog atributa. Da bi se mogle izračunati pogrješke prilikom stabla odlučivanja, a na temelju ID3 algoritma koristi se slijedeća formula40: 39 Witten, I. H. and Eibe, F. (2011). Data Mining. San Francisco: Morgan kaufmann, str. 552. 40 Witten, I. H. and Eibe, F. (2011). Data Mining. San Francisco: Morgan kaufmann, str. 556. 28 Rudarenje podataka korištenjem metode stabla odlučivanja U ovoj formuli (tj. entropija). je mjera za količinu nesigurnosti podataka skupa je struja (data) postavljena za entropije koje izračunava, X je skup klasa u skupini S, p(x) je udio broja elemenata u klasi x do broja elemenata u skupu . Ukoliko =0 to označava da je set savršeno klasificiran. Classification and regression trees (CART) je algoritam za učenje stabala odluke i regresije. CART algoritam se još naziva i košarica algoritam koji služi za donošenje odluka. Prvi put je ovaj algoritam objavljen 1984. godine, a autor je Leo Breiman41. Kod stabla odluke, izlaz je odluka o klasi kojoj pripada ulazni podatak, dok je kod stabla regresije izlaz realni broj. CART algoritam gradi binarna stabla i može raditi s kategorijskim i numeričkim atributima. Koristi „sirove“ podatke, tj. podatke nije potrebno obraditi prije učenja stabla i klasifikacije. Proces učenja se temelji na određivanju testa (atributa i njegove vrijednosti) koji najbolje razdjeljuje podatke. Ovaj algoritam se upotrjebljava samo kod binearnih stabala, odnosno da je na svakoj obilaznici po dvije grane. Zbog toga je središnji element tog algoritma način na koji se dolazi do optimalnog binarnog odvajanja. S CART algoritmima dolazi se do upravljanja maksimalizacije informacijskog sadržaja. Ovdje su podatci optimalno odvojeni putem vrijednosnog praga koje se odnosi na određeni atribut. C5.0 omogućava korištenje matrice troškova krivog razvrstavanja, "boosting" i kros-validaciju i poboljšan je algoritam za traženje podjela. Zbog svoje prirode da značajke s realnim brojevima dijeli na dvije grane, a diskretne vrijednosti dijeli na više grana C4.5 i C5.0 algoritmi preferiraju podjelu na nominalnim značajkama42. 41 Isto. 42 Isti, str. 572. 29 Rudarenje podataka korištenjem metode stabla odlučivanja CHAID je vrsta stabla odlučivanja na temelju prilagođenog testiranja značajnosti. Tehnika je razvijena u Južnoj Africi, a objavljena je 1980. godine pod autorstvo Gordona V. Kassa. CHAID algoritam se može koristiti za predviđanje (na sličan način kao u regresijskoj analizi, ova verzija je prvotno poznata kao XAID), kao i za razvrstavanje te za detekciju interakcija između varijabli. CHAID se zalaže za CH i-kvadrat koja se temelji na formalnom produljenju US AID (Automatska interakcija Detection) i THAID (Theta Automatska interakcija Detection) postupcima 1960-ih i 70-ih godina43. U praksi, CHAID se često koristi u kontekstu izravnog marketinga za odabir skupine potrošača i predviđa kako će njihovi odgovori na neke varijable utjecaati na druge varijable, iako druge ranije aplikacije su u području medicinskih i psihijatrijskih istraživanja. Poput drugih stabla odlučivanja, CHAID-ova je prednost ta da je njegova proizvodnja vrlo vizualna i jednostavna za protumačiti. Uobičajena alternativa ovoj tehnici je iscrpna tehnika. Ovom tehnikom spajanje grana se nastavlja dok se ne postigne podjela na dvije grane. Tada se između svih razmatranih podjela odabire ona s najvećom p-vrijednosti. 43 Witten, I. H. and Eibe, F. (2011). Data Mining. San Francisco: Morgan kaufmann, str. 578. 30 Rudarenje podataka korištenjem metode stabla odlučivanja 3.3. Problem u modeliranju podatka - Overfiting Over-fitting je značajna poteškoća u primjeni metoda stabla odlučivanja, ali i drugih tehnika modeliranja podataka. Jedan od najjednostavnijih i najčešće korištenih sredstava za izbjegavanje overfittinga je podijela podataka u dva skupa: skup treninga i valjani set. Treniramo korištenjem podataka za učenje. Podatci valjanosti su neovisni o podacima treninga, tada je performansa mreže dobra mjera generalizacije i dokle god mreža uči temeljne strukture podataka na skupu validacije će poboljšati trening44. Kada mreža prestaje učiti stvari za koje se očekuje da bi bilo istinite uzorku podataka i uči stvari koje su istinite samo ovog uzorka nastup na skupu validacije će zaustaviti poboljšanje. Problem Overfitting se može riješiti na dva načina: 1. Prvi način je da se zaustavi rast stabla odlučivanja kako ne bi došlo do savršene klasifikacije primjera iz skupa podataka za učenje45. 2. Drugi način je da se dopusti rast stabla do klasifikacije nakon čega se skraćuju grane prema prethodno definiranom kriteriju. U praksi se najčešće koristi drugi pristup jer je i veoma pouzdaniji jer je teško unaprijed definirati željenu kompleksnost stabla odlučivanja46. 44 Isti, str. 579. 45 Isti, str. 599. 46 Isti, str. 600. 31 Rudarenje podataka korištenjem metode stabla odlučivanja 4. PRIMJER RUDARENJA PODATAKA 4.1. Programski paket - Weka Alat Weka sadrži ugrađene najpoznatije (engl. state-of-the-art) algoritme strojnog učenja, npr. naivni Bayesov klasifikator, JRip, J48, M5Rules itd. te omogućuje cijeli proces rudarenja podacima, koji uključuje pripremu ulaznih podataka, statističku evaluaciju procesa učenja i vizualizaciju ulaznih podatka i rezultata strojnog učenja47. Rudarenje podacima je proces pronalaženja uzoraka (engl. patterns) među podacima, koji se u alatu Weka odvija automatski. Otkriveni uzorci moraju imati određeno značenje koje se može primjeniti kao korisna informacija. Ulazni podaci su nezavisne instance koje predstavljaju vrijednosti određenih atributa. Atributi su stupci u ulaznoj tablici, dok se instance zapisuju u retke. Atributi mogu biti numerički ili nominalni. Numerički atributi, često nazvani kontinuirani atributi, mogu biti realne ili cijelobrojne vrijednosti. Nominalni atributi, čije ime dolazi od latinske riječi nominal što u prijevodu znači ime, sadrže određeni skup vrijednosti, unaprijed definirani (npr. atribut vrijeme može imati vrijednosti sunčano, kišovito, maglovito). Alat Weka koristi vlastiti formalizam prikaza ulaznih podataka poznat kao .arff format. Alat Weka primjenjuje četiri vrste strojnog učenja: klasifikacijsko učenje, numeričko predviđanje, učenje asocijacijskih pravila i grupiranje. Rezultat klasifikacijskog učenja su klase (engl. class), npr. boja karte {crvena, crna}48. Uspješnost klasifikacijskog učenja moguće je provjeriti tzv. nadgledanjem (engl. supervise) rezultata. 47 Witten, I. H. and Eibe, F. (2011). Data Mining. San Francisco: Morgan kaufmann, str. 358. 48 Witten, I. H. and Eibe, F. (2011). Data Mining. San Francisco: Morgan kaufmann, str. 359. 32 Rudarenje podataka korištenjem metode stabla odlučivanja Nad skupom podataka, čiji rezultat klasifikacije je unaprijed poznat i ne sudjeluje u samom procesu učenja, primjene se metode za klasifikaciju te se objektivno odredi uspješnost ovakve vrste učenja. Numeričko predviđanje je vrsta klasifikacijskog učenja u kojem rezultat ima numeričku vrijednost. Iz ulaznih podataka pomoću alata Weka moguću je određivanje atributa koji najviše utječu na rezultat numeričkog predviđanja. U učenju asocijacijskih pravila primjenjuju se asocijacijska pravila koja se razlikuju od klasifikacijskih pravila u sljedećem: mogu predvidjeti bilo koji atribut, ne nužno klasu, te u isto vrijeme mogu predvidjeti više od jednog atributa, koji su najčešće ne-numerički. Grupiranje je vrsta strojnog učenja koja se primjenjuje kada nisu unaprijed određene klase već se podaci koji pripadaju zajedno u istu grupu prema određenom prirodnom pravilu zajedno grupiraju. Uspješnost ovakvog učenja utvrđuje se subjektivno, tj. koliko su dobiveni rezultati korisni krajnjem korisniku. Grupiranje se može koristiti kao drugi korak u klasifikacijskom učenju gdje se naučena pravila koriste za određivanje i pridjeljivanje novih podataka u grupe. Ulazni skup podataka nad kojim se primjeni jedna vrsta strojnog učenja i kao rezultat izgradi stablo odluke naziva se skup podatka za treniranje (engl. training set). Usporedba ili evaluacija rezultata različitih vrsta strojnog učenja nad istim skupom podataka za treniranje koristi se za određivanje uspješnosti učenja. Korištenje Weka sustava započinje instalacijom na vlastito računalo programa dostupnog na http://www.cs.waikato.ac.nz/ml/weka/49. Sustav se neprestano nadograđuje, a posljednja stabilna verzija 3.6.4 zahtijeva da se sa spomenute stranice prenese na svoje računalo datoteka „weka-3-6-4jre.exe“ te da se pokrene njeno izvođenje50. 49 Isto. 50 Isti, str. 360. 33 Rudarenje podataka korištenjem metode stabla odlučivanja Slika 8.: Početni prozor Weka sustava U početnom prozoru sustava (Slika 8.) tipkom Explorer se prelazi u dio namijenjen analizi podataka51. Postupak započinje otvaranjem datoteke sa podacima. Jednostavniji način pripreme podataka za Weka sustav je preko Excel tablice. U tom slučaju ne treba posebno definirati atribute već samo navesti njihova imena u prvom redu tablice. Kada je završena priprema podataka, tada tablicu treba zapisati u arff formatu. Slika 9.: Weka Explorer 51 Williams, G. (2011). Data Mining with Rattle and R. Florida: Springer, str. 250. 34 Rudarenje podataka korištenjem metode stabla odlučivanja Karakteristika Weka sustava je da pruža koristan i jednostavan uvid u podatke. Odabirom jednog ili više atributa i pritiskom na tipku „Remove“ moguće je jednostavno isključiti neke atribute iz analize. Pritiskom na tipku „Edit...“ moguće je prekontrolirati učitane podatke te ih po potrebi i promijeniti za potrebe analize52. Nakon učitavanja podataka otvara se mogućnost da se počnu koristiti osnovne funkcije sustava. Izbor se vrši u gornjem dijelu Explorer prozora pritiskom na tipke „Preprocess“ (transformacija podataka), „Classify“ (postupci izgradnje modela za klasificirane primjere), „Associate“ (otkrivanje čestih uzoraka) i „Select attributes“ (odabir podgrupe najznačajnijih atributa)53. Nakon odabira tipkom „Preprocess“, pritiskom na tipku „Choose“ dobiva se izbornik sa velikim brojem vrlo raznih funkcija koje omogućuju transformaciju podataka. Podijeljene su u grupe ovisno o tome da li su primjeri klasificirani ili nisu te da li se želi transformirati atribute ili primjere. Jedna od važnijih funkcija je ona koja omogućuje transformaciju numeričkog atributa u skup nominalnih vrijednosti. Funkcija se naziva „Discretize“ i postoji i za skupove klasificiranih primjera i za one kada klasifikacija nije poznata54. Najvažniji među njima je „bins“ koji određuje na koliko podgrupa će se podijeliti vrijednosti. Osnovna vrijednost je 10 a za male skupove podataka je preporučljivo odabrati 2. Važan je i „useEqualFrequency“ koji ima osnovnu vrijednost False što znači da de generirane podgrupe pokrivati isti raspon veličina. Promjenom na vrijednost True moguće je odrediti da treba podjednak broj primjera rasporediti po svakoj podgrupi. 52 Witten, I. H. and Eibe, F. (2011). Data Mining. San Francisco: Morgan kaufmann, str. 361. 53 Isti, str. 362. 54 Isti, str. 363. 35 Rudarenje podataka korištenjem metode stabla odlučivanja Slika 10.: Discretize Weka U prozoru izbora vrijednosti parametara pritiskom na tipku „More“ dobiva se više informacija o samoj funkciji te opis značenja pojedinih parametara. Nakon što su podešeni parametri i prozor za njihov odabir zatvoren, odabrana funkcija se izvodi pritiskom na tipku „Apply“. Ako su naši podaci klasificirani, postupak izgradnje modela započinje tipkom „Classify“ nakon čega je pritiskom na tipku „Choose“ moguće izabrati neki od ponuđenih postupaka. Izbor je prilično velik a najznačajniji postupci su induciranje stabala odlučivanja poznat kao J48 i JRip postupak za učenje pravila originalno poznat kao RIPPER55. Za sve klasifikacijske postupke postoji mogućnost izbora načina provjere prediktivne točnosti induciranog modela. Ako ne postoji nezavisni testni skup a skup za učenje ima više od pedesetak primjera, preporučljivo je iskoristiti mogućnost unakrsne validacije. 55 Witten, I. H. and Eibe, F. (2011). Data Mining. San Francisco: Morgan kaufmann, str. 364. 36 Rudarenje podataka korištenjem metode stabla odlučivanja Ako se želi dobiti grafički prikaz generiranog stabla, treba pritisnuti desnu tipku miša na spomenuti natpis i odabrati funkciju „Visualize tree“. Nakon odabira tipkom „Associate“, pritiskom na tipku „Choose“ dobiva se izbornik sa malim brojem funkcija od kojih je najvažnija Apriori. Ova funkcija se može koristiti samo ako ne postoje string atributi te ako su numerički prethodno pretvoreni u nominalne. Nakon odabira tipkom „Select Attributes“ moguće je izabrati veći broj raznih postupaka za izbor značajnih atributa. Postupak se sastoji od kombinacije dvije funkcije pa se prvom tipkom „Choose“ odabire mjera sa kojom će se evaluirati atributi a sa drugom tipkom „Choose“ se odabire kako de se pretraživati skup atributa56. Za odabrani postupak evaluacije nije moguće koristiti sve postupke pretraživanja ali Weka sustav će nas obavijestiti ako pokušamo napraviti nedozvoljenu kombinaciju i odmah predložiti neki od primjerenih načina pretraživanja. Postupci odabira atributa važni su u strojnom učenju jer se eliminacijom nebitnih atributa iz skupa za učenje može poboljšati prediktivna kvaliteta induciranih modela. Za otkrivanje znanja postupci odabira atributa su korisni jer pružaju informaciju o važnosti pojedinih atributa. Postoji velik broj načina evaluacije atributa koji ih rangiraju po različitim kriterijima. Niti jedan od načina nije apsolutno najbolji. To je posebno važno imati na umu za primjene u otkrivanju znanja jer različiti postupci mogu različito rangirati atribute a interpretacija ovisi o postupku koji je primijenjen. Jedan od poznatijih načina rangiranja koji uzima u obzir i međuzavisnosti među atributima je Relief algoritam57. 56 57 Williams, G. (2011). Data Mining with Rattle and R. Florida: Springer, str. 301. Williams, G. (2011). Data Mining with Rattle and R. Florida: Springer, str. 314. 37 Rudarenje podataka korištenjem metode stabla odlučivanja 4.2. Primjer rudarenja podataka korištenjem stabla odlučivanja Primjer koji ćemo koristiti bavi se životinjskim carstvom,prikazat ćemo na slici koje ćemo koristiti: Slika 11.:Prikaz seta podataka Prvi korak kao što smo spomenuli je pokrenuti program weka zatim izabrati 'Explorer' zatim 'Open file' i tu odabrati odredenu arff datoteku. 38 Rudarenje podataka korištenjem metode stabla odlučivanja Slika 12.: Unos podataka u weka programu Znači imamo 73 različitih životinja (antilopa, tigar,lasta,medvjed, divljasvinja, bivol, tele, geopard, jelen, dupin, slon,zirafa, djevojka, koza, gorila, hrcak,zec, leopard, lav, ris, kanadskakuna, krtica,kljunar, tvor, poni,puma, rakun, sob,vjeverica, vampir, poljskimis,vuk,koka, vrana, golubica, patka, flamingo, galeb, jastreb, noj,papagaj, pingvin, , vrabac, labud,zmija, kornjaca, premosnik,grgec,saran,som,morskipas,bakalar,purica,piranja,lignja,magarac,list ,krava,mrav,morka,raza, tuna,zaba, buha, komarac, pcela, kucnamuha, bubamara, moljac, termit, osa skoljka,rak,skorpion,) koje ćemo razvrstat po 12 atributa: (životinja, dlaka, perje, mlijeko, zračna, vodena, otrovna, peraje, noge, rep, domaća i tipu životinja kao što su: reptil, insekt , sisavac, ptica, riba ). 39 Rudarenje podataka korištenjem metode stabla odlučivanja Drugi korak nam je označiti sve atribute zatim prijeći na gumb'classify' i izabrati po kojem načinu ćemo clasificirati. U Classify podmeniju potrebno je odabrati klasifikator i Test options te atribut na kojeg se odnosi predikcija. Nakon pokretanja klasifikacije u Classify output prozoru prikazani su rezultati predikcije. Test options box razlikuje četiri različita moda: • Use training set, klasifikator se evaluira prema tome kako dobro vrši predikciju klase primjera na kojima se trenira. Broj pogrešnih klasifikacija na podacima za treniranje nije dobar pokazatelj performansi našeg prediktivnog modela na budućim podacima. • Supplied test set, klasifikator se evaluira prema tome kako dobro vrši predikciju klase prema primjerima koji se učitavaju iz datoteke. • Cross-validation, klasifikator se evaluira uz pomoć kros-validacije koristeći različiti broj "previjanja" koja se mogu specificirati. Prvo se cijeli 12set podatak podijeli na k podskupova podataka jednake duljine. Svi ti podskupovi služe kao podaci za treniranje modela. To se zove k-fold cross – validation. Podijela ne 10 dijelova pokazuje se kao najbolja. • Perscentage split, klasifikator se evaluira prema tome kako dobro vrši predikciju podataka koji se zadržavaju za testiranje. Količina tih podataka u ukupnom skupu podataka se određuje upisivanjem postotka u polje. Prikazani izlazni rezultati podijeljeni su prema sekcijama: • Run information, što predstavlja informaciju o odabranom klasifikatoru, datoteci sa podacima, o relacijama, broju primjera, broju i imenima atributima i odabranim opcijama testa. • Classifier model (full training set), predstavlja tekstualnu reprezentaciju klasifikacijskog modela koji je proizveden na cijelom setu podataka. 40 Rudarenje podataka korištenjem metode stabla odlučivanja • Summary, predstavlja listu statističkih parametara, koji predočavaju kako je točno klasifikator uspio izvršiti predikciju. • Detailed Accuracy By Class, predstavlja rezultat predikcijske točnosti, prema vrijednostima klase. • Confusion Matrix, prikazuje koliko je primjera dodijeljeno svakoj klasi. Elemente konfizijske matrice predstavljaju: u retcima, broj testova po klasama (class number), a u stupcu, broj testova koji su klasificirani kao svaka od klasa (classified as). Matrica pruža uvid u to koliko je klasifikacija dobra. Idealni klasifikator sadrži nule svugdje osim na dijagonali konfuzijske matrice. Slika 13.: Prikaz klasifikacije korištenjem Use trening set po filteru trees.J48 41 Rudarenje podataka korištenjem metode stabla odlučivanja Na slici je prikazano jedan od načina klasifikacije po filteru Trees.J48 i pokaziva točnost od 93,1507 i netočnost 6,849. Ovaj klasifikator nastao je na temelju vrlo popularnog algoritma za izgradnju stabla odluke C4.5. i predstavlja njegovo poboljšanje. Kapa κ statistika ili Kapa κ koeficijent računa se samo za nominalne klase. Ona se računa na osnovu konfuzijske matrice. κ koeficijent kvantificira slaganje između trenutne klasifikacije i predikcije. Računa se: gdje je P(A) točnost promatranog slaganja, P(E) procijenjena vjerojatnost slučajnog slaganja, T suma svih brojeva u konfuzijskoj matrici, mii su brojevi na dijagonali konfuzijske matrice, mi+ zbroj po recima, m+i zbroj po stupcima. κ se približava prema 1 kada se vjerojatnost slučajnog slaganja smanjuje. κ je negativan kada se vjerojatnost slučajnog slaganja veća od vjerojatnosti promatranog slaganja. κ je jednaka 0 kada je vjerojatnost slaganja jednaka vjerojatnosti slučajnog slaganja. K&B Relative Info Score (Kononenko & Bratko Relative Information score) služi za usporedbu više klasifikatora u istoj domeni. Omjer je srednjeg koeficijenta informacijskog dobitka i entropije. K&B Information Score predstavlja mjeru performansi klasifikatora. Kako se računa informacijska dobit biti će kasnije prikazano. Srednja vrijednost se dobiva dijeljenjem informacijske dobiti sa brojem primjera. 42 Rudarenje podataka korištenjem metode stabla odlučivanja Mean absolute error (MAE) predstavlja pogrešku distribucije vjerojatnosti predikcije za nominalne klase i grešku u predikciji za numeričke klase. Root mean square error (RMS) predstavlja srednju kvadratnu pogrešku, a Relative apsolute error (RAE) relativnu pogrešku TP (True Positive) predstavlja broj točnih pozitivnih predikcija, FP (False Positive) predstavlja broj pogrešnih pozitivnih predikcija. Preciznost (Precision) Pr= TP/(TP+FP). Recall R= TP/(TP+FN). F-mjera(F-Measure) F=(2*Pr*R)/(Pr+R) Slika 14.: Konfuzijska matrica 43 Rudarenje podataka korištenjem metode stabla odlučivanja U konzufijskoj matrici vidimo točnost i pogreške po klasifikacijskim podatcima, u dijagonali označena crvenom bojom na slici su pogođeni podatci,a podaci okolo dijagonale smatraju se pogreškama,sto znači da je pogođeno 68 životinja a pogrešno kvalificiranih je 5. Još jedna bitna karakteristika je vizualizaciju stabla koje kreira prema ulaznim podacima. Slika 15.: Vizualizacija stabla odlučivanja (zoo data) U stablu možemo vidjeti da je razvrstao podatke po tipu životinje (sisavac, riba,ptica,insekt,reptil,riba). Ciljni atribut uzima proizvoljno od zadanih 12 atributa. U podatcima je sisavac najviše definiran po mlijeku, ptice po perju, po broju nogu zaključio je koja je vrsta reptil, a koja insekt, vodena karakteristika je označila ribe. 44 Rudarenje podataka korištenjem metode stabla odlučivanja Ostale karakteristike su miješane, npr. rep imaju i sisavci i ribe i ptice te je uklonjen taj atribut u vizualizaciji stabla,također su uklonjeni atributi (zračna, dlaka,otrovna,peraje,domaća), upravo zbog činjenica jer ne definiraju ništa konkretno da bi se moglo odredit koja je vrsta životinje. 45 Rudarenje podataka korištenjem metode stabla odlučivanja 5. ZAKLJUČAK Osnovno poimanje računala vezano je uz podatke, ali uz podatke oni čuvaju i znanje, a iz tog znanja mogu proizvoditi nova znanja. Poznata izreka koja kaže da tko ima informaciju ima moć danas više nije adekvatna. Informacija nije dovoljna, nužno je znanje što učiniti s tim informacijama. Znanje je snaga, pa se kaže da će samo ona gospodarstva biti uspješna u ovom stoljeću koja će znati koristiti sadašnje i generirati novo znanje. Stabla odlučivanja su vrlo moćna i popularna metoda rudarenja podataka koja se uglavnom koristi za probleme klasifikacije i predviđanja. Stabla odluke se najviše upotrebljavaju za rješavanje prediktivnih problema. Privlačnost ove metode leži u činjenici da nudi modele podataka u 'čitljivom', razumljivom obliku, često u obliku AKO-ONDA (IF-ELSE) pravila. Ta pravila se lako mogu direktno interpretirati običnim jezikom, ili pak koristiti u nekom od jezika za rad s bazama podataka (SQL). Weka kao program je vrlo jednostavan za korištenja. Karakteristika Weka sustava je da pruža koristan i jednostavan uvid u podatke. Uz velik izbor metoda nudi i velik broj filtera s kojima možemo vršiti analizu. Sami početak je dosta kompliciran, priprema podataka je najveći dio posla,a kasnije se može reći da program sve odrađiva sam. Ako treba istaknuti neki nedostatak onda bih primjetila grafičko sučelje koje je dosta monotono, pogotovo prilikom vizualizacijskih prikaza. Primjenom stabla odlučivanja u sustavu Weka mogu se dobiti korisni podaci koji pomažu u donošenju poslovnih odluka, ali tijekom analiziranja ne treba stati samo na toj metodi, trebalo bi analizirati i druge metode i zaključiti najbolji rezultat koje će vam uvelike pomoći. 46 Rudarenje podataka korištenjem metode stabla odlučivanja 6. LITERATURA [1] Čačić, V. i Varga, M. (2004). Informacijska tehnologija u poslovanju. Zagreb: Element. [2] Panian, Ž. i Klepac, G. (2003). Poslovna inteligencija. Zagreb: Masmedia. [3] Pudi, V. and Krishna, R. (2009). Data Mining. Oxford: Oxford University Press. [4] Williams, G. (2011). Data Mining with Rattle and R. Florida: Springer. [5] Witten, I. H. and Eibe, F. (2011). Data Mining. San Francisco: Morgan kaufman. [6] Kraljević G., Rudarenje podataka, < http://www.fpmoz.ba/gkraljevic/dm_materijali.htm>, (05.04.2014.) [7] Weka-službena stranica, <http://www.cs.waikato.ac.nz/ml/weka/>, (10.5.2014.) [8] Dr. Wenjia Wang, School of Computing Sciences, <https://blog.itu.dk/SPVCE2010/files/2010/11/wekatutorial.pdf/ >, (20.5.2014) 47 Rudarenje podataka korištenjem metode stabla odlučivanja PRILOG Izvorni kod iz program wekw koristen za primjer (poglavlje 4.1) Title: Zoo database Class# Set od zivotinja antilopa, medvjed, divljasvinja, bivol, tele, geopard, jelen, dupin, slon,tigar,zirafa, djevojka, koza, gorila, hrcak, zec, leopard, lav, ris, kanadskakuna, krtica,tvor, poni,krava puma,rakun, sob, vjeverica, vampir, poljskimis,vuk koka,vrana,golubica,patka,flamingo,galeb,jastreb,noj,papagaj,pingvin,morka, mocvarnica,pile,kanarinac,vrabac, labud,lesinar, puran,purica. zmija, kornjaca, grgec, saran, som, morskipas, bakalar,stuka, piranja, tuna, lignja,list, krastaca buha, komarac, pcela, kucnamuha, bubamara, moljac, termit, osa,lasta skorpion Broj unosa : 73 Broj atributa: 10 (ime zivotinje, 6 Boolean atributa, 2 numericka) Informacije atributa: (naziv atributa i vrsti vrijednost domene) 1. naziv zivotinje: jedinstven za svaki primjer 2. dlaka Boolean 3. perje Boolean 4. mlijeko Boolean 5. zracna Boolean 6. vodena Boolean 7. otrovna Boolean 8. peraje Boolean 9. noge Numeric (set vrijednosti: {0,2,4,5,6,8}) 10. rep Boolean 11.domaća Boolean 12. tip Numeric (vrijednosti u rasponu [1,7]) 48 Rudarenje podataka korištenjem metode stabla odlučivanja Atributi bez vrijednosti: Nema Distribucija klasa: S obzirom na gore @RELATION zoo @ATTRIBUTE životinja {antilopa,morke,purica,puran,mocvarka,djevojka,kukavica,pile,kanarinac,tigar,la sta,medvjed, divljasvinja, bivol, tele, geopard, jelen, dupin, slon,zirafa, koza, gorila, hrcak,zec, leopard, lav, ris, kanadskakuna, krtica, tvor, poni,puma, rakun, sob,vjeverica, vampir, poljskimis,vuk,koka, vrana, golubica, patka, flamingo, galeb, jastreb,seva, noj,papagaj, pingvin, fazan, vrabac, labud, lesinar,zmija, kornjaca, premosnik ,grgec, saran, som, morskipas, piranja,lignja,magarac,list,tuna, vodenjak, krastaca, bakalar,stuka, buha, komarac, pcela, kucnamuha, bubamara, termit, osa ,skorpion,} @RELATION zoo @ATTRIBUTE dlaka {false, true} @ATTRIBUTE perje {false, true} @ATTRIBUTE mlijeko {false, true} @ATTRIBUTE zracna {false, true} @ATTRIBUTE vodena {false, true} @ATTRIBUTE otrovna {false, true} @ATTRIBUTE peraje {false, true} @ATTRIBUTE noge INTEGER [0,9] @ATTRIBUTE rep {false, true} @ATTRIBUTE domaca {false, true} @ATTRIBUTE tip { sisavac, ptica, riba, insekt ,repti @DATA 49 Rudarenje podataka korištenjem metode stabla odlučivanja Instances (73): antilopa,true,false,true,false,false,false,false,4,true,false,sisavac tigar,true,false,true,false,false,false,false,4,true,false,sisavac grgec,false,false,false,false,true,false,true,0,true,false,riba lignja,false,false,,false,false,true,false,true,0,false,false,riba list,false,false,false,false,true,false,true,0,true,false,riba medvjed,true,false,true,false,false,false,false,4,false,false,sisavac divljasvinja,true,false,true,false,false,false,false,4,true,false,sisavac bivol,true,false,true,false,false,false,false,4,true,false,sisavac tele,true,false,true,false,false,false,false,4,true,false,sisavac saran,false,false,false,false,true,false,true,0,true,false,riba som,false,false,false,false,true,false,true,0,true,false,riba geopard,true,false,true,false,false,false,false,4,true,false,sisavac koka,false,true,false,true,false,false,false,2,true,true,ptica vrana,false,true,false,true,false,false,false,2,true,false,ptica jelen,true,false,true,false,false,false,false,4,true,false,sisavac morskipas,false,false,false,false,true,true,false,0,true,false,riba dupin,false,false,true,false,true,true,true,0,true,false,sisavac golubica,false,true,false,true,false,false,false,2,true,true,ptica lasta,false,true,false,true,false,false,false,2,true,true,ptica purica,false,true,false,true,false,false,false,2,true,true,ptica puran,false,true,false,true,false,false,false,2,true,true,ptica slon,true,false,true,false,false,false,false,4,true,false,sisavac flamingo,false,true,false,true,false,false,false,2,true,true,ptica buha,false,false,false,true,false,true,false,6,false,false,insekt zirafa,true,false,true,false,false,false,false,4,true,false,sisavac komarac,false,false,false,true,false,true,false,6,false,false,insekt morke,false,true,false,true,false,false,false,2,true,true,ptica koza,true,false,true,false,false,false,true,4,true,true,sisavac gorila,true,false,true,false,false,false,true,2,false,false,sisavac galeb,false,true,false,true,true,true,false,2,true,false,ptica 50 Rudarenje podataka korištenjem metode stabla odlučivanja vrabac,false,true,false,true,true,true,false,2,true,false,ptica bakalar,false,false,false,false,true,false,true,0,true,false,riba pile,false,true,false,true,false,false,false,2,true,true,ptica hrcak,true,false,true,false,false,false,false,4,true,true,sisavac zec,true,false,true,false,false,false,false,4,true,false,sisavac jastreb,false,true,false,true,false,false,false,2,true,false,ptica pcela,true,false,false,true,false,false,false,6,false,true,insekt kucnamuha,true,false,false,true,false,false,false,6,false,false,insekt bubamara,false,false,false,true,false,true,false,6,false,false,insekt seva,false,true,false,true,false,false,false,2,true,false,ptica kukavica,false,true,false,true,false,false,false,2,true,true,ptica kanarinac,false,true,false,true,false,false,false,2,true,true,ptica leopard,true,false,true,false,false,false,false,4,true,false,sisavac lav,true,false,true,false,false,true,false,4,true,false,sisavac ris,true,false,true,false,false,true,false,4,true,false,sisavac mocvarka,false,true,false,true,false,false,false,2,true,true,ptica kanadskakuna,true,false,true,false,true,true,false,4,true,false,sisavac krtica,true,false,true,false,false,false,false,4,true,false,sisavac noj,false,true,false,false,false,false,false,2,true,false,ptica papagaj,false,true,false,true,false,false,false,2,true,true,ptica pingvin,false,false,false,false,true,false,true,2,true,false,ptica fazan,false,true,false,true,false,false,false,2,true,false,ptica stuka,false,false,false,false,true,true,true,0,true,false,riba piranja,false,false,false,false,true,true,true,0,true,false,riba poni,true,false,true,false,false,false,false,4,true,true,sisavac magarac,true,false,true,false,false,false,false,4,true,true,sisavac puma,true,false,true,false,false,true,false,4,true,false,sisavac rakun,true,false,true,false,false,true,false,4,true,false,sisavac sob,true,false,true,false,false,false,false,4,true,true,sisavac zmija,false,false,false,false,true,true,false,0,true,false,reptil labud,false,true,false,true,true,false,false,2,true,false,ptica termit,false,false,false,false,false,true,false,6,false,false,insekt 51 Rudarenje podataka korištenjem metode stabla odlučivanja kornjaca,false,false,false,false,false,false,false,4,true,false,reptil premosnik,false,false,false,false,false,true,false,4,true,false,reptil tvor,true,false,true,false,false,true,false,4,true,false,reptil vjeverica,true,false,false,false,false,true,false,4,true,false,reptil tuna,false,false,false,false,true,true,true,0,true,false,riba vampir,true,false,true,true,false,false,false,2,true,false,sisavac djevojka,true,false,true,true,false,false,false,2,true,false,sisavac poljskimis,true,false,true,false,false,false,false,4,true,false,sisavac lesinar,false,true,false,true,false,true,false,2,true,false,ptica osa,true,false,false,true,false,false,false,6,false,false,insekt vuk,true,false,true,false,false,true,false,4,true,false,sisavac 52
© Copyright 2024 Paperzz