27
SVEUČILIŠTE J.J. STROSSMAYERA U OSIJEKU, EKONOMSKI FAKULTET U OSIJEKU 4. Stabla odlučivanja MARIJANA ZEKIĆ-SUŠAC 1

4. Stabla odlučivanja - efos.unios.hr · Primjer 1 –izbor algoritma i parametara stabla Klikom na sivu karticu Method izabire se algoritam stabla odlučivanja. Moguće je koristiti

  • Upload
    donga

  • View
    224

  • Download
    0

Embed Size (px)

Citation preview

SVEUČILIŠTE J.J. STROSSMAYERA U OSIJEKU, EKONOMSKI FAKULTET U OSIJEKU

4. Stabla odlučivanja

MARIJANA ZEKIĆ-SUŠAC

1

M. ZEKIĆ- SUŠAC 2

Što ćete naučiti u ovom poglavlju?

•Što su i koje su vrste stabala odlučivanja?

•Kako funkcioniraju stabla odlučivanja za klasifikaciju?

•Kako se klasifikacijska stabla odlučivanja koriste na primjerima (u alatu Statistica)?

•Kako se tumače numerički i grafički rezultati klasifikacijskih stabala?

•Kako se provodi analiza osjetljivosti kod klasifikacijskih stabala?

M. ZEKIĆ- SUŠAC 3

Stabla odlučivanja u analizi odlučivanja

Stabla odlučivanja kao metoda pojavljuju se u dva područja znanosti:

1. U analizi odlučivanja (eng. Decision analysis) – koriste se kako bi vizualno (grafički) predstavila način donošenja odluka od strane eksperta – koriste se kod ekspertnih sustava

Takva stabla odlučivanja opisuju način kako ljudski ekspert dolazi do odluke kod nekog problema odlučivanja, npr. kupovine automobila, izbora lokacije tvrtke, dijagnoze u medicini i slično.

Kod ove metode se polazi od ručnog kreiranja stabla.

Cilj - odluka

Atributi za donošenje odluke

M. ZEKIĆ- SUŠAC 4

Stabla odlučivanja u strojnom učenju i rudarenju podataka

2. U strojnom učenju – stabla odlučivanja su prediktivni modeli koji na temelju podataka izvode njihove veze u cilju dobivanja izlaznih vrijednosti. Kao takvi modeli koriste se u rudarenju podataka (eng. Datamining) – traženju skrivenih veza među podacima

Takva se stabla temelje na podacima, a ne na odluci eksperta, a još se zovu i: klasifikacijska stabla i/ili regresijska stabla.

Kod ove metode stablo je rezultat koji se dobiva metodom.

Na ovom kolegiju bavit ćemo se ovom drugom vrstom stabala odlučivanja – koja se temelje na podacima.

Listovi stabla (eng. Leaves) –klasifikacije ili kategorije

Grane (eng. Branches) – karakteristike koje dovode do razvrstavanja u kategorije ili klase

M. ZEKIĆ- SUŠAC 5

Klasifikacijska i regresijska stabla odlučivanja

Klasifikacijska i regresijska stabla (eng. Classification And Regression Trees –CART) – su metoda kojom se dobiva grafički prikaz modela utjecaja ulaznih varijabli na izlaznu.

◦ Pri tome izlazna varijabla mora biti izražena u obliku klasa ili kategorija.

Način funkcioniranja stabla:

Svaki čvor u grafičkom stablu predstavlja jednu ulaznu varijablu, na čijim rubovima su označena „djeca-čvorovi“ za svaku moguću vrijednost neke ulazne varijable.

Svaki list u stablu predstavlja vrijednost ciljne (izlazne) varijable ako su dane vrijednosti ulaznih varijabli predstavljene putom od korijena stabla do tog lista.

Stablo se dobiva „učenjem“ na podacima, na način da se vrši grananje (eng. splitting) izvornog skupa podataka u podskupove na temelju testiranja vrijednosti varijabli.

Proces se ponavlja na svakom izvedenom podskupu na rekurzivni način (eng. recursive partitioning). Rekurzija je završena kada podskup određenog čvora ima sve iste vrijednosti izlazne varijable, ili kada daljnje grananje više ne doprinosi poboljšanju rezultata (Witten, Frank, 2000).

M. ZEKIĆ- SUŠAC 6

Algoritam za izgradnju stablaZa izgradnju stabla koristi se najčešće CART algoritam prema Breiman et al. (uWitten i Frank, 2000), koji na temelju raspoloživih podataka o ulaznim i izlaznim varijablama kreira binarno stablo grananjem slogova u svakom čvoru prema funkciji određenoj za svaku ulaznu varijablu.

Evaluacijska funkcija korištena za prijelom je Gini indeks (IG), definiran prema formuli (Apte, 1997):

gdje je t trenutni čvor, pi je vjerojatnost klase i u čvoru t, a m je broj klasa u modelu (u našem slučaju m=2).

Algoritam CART uzima u obzir sva moguća grananja kako bi pronašao najbolje grananje za točnost modela.

Najbolje grananje određuje se za svaki atribut u svakom čvoru, a pobjednik se izabire s pomoću Gini indeksa.

m

i

iG ptI1

21)(

M. ZEKIĆ- SUŠAC 7

Algoritam za izgradnju stabla - nastavak

Algoritam može uspješno raditi s kontinuiranim i kategorijalnim varijablama.

Stablo raste sve dok se ne pronađe novo grananje koje poboljšava uspješnost stabla u razdvajanju slogova u klase.

S obzirom da svako sljedeće grananje ima na raspolaganju manje reprezentativnu populaciju, potrebno je smanjivati stablo (eng. pruning), kako bi se dobila točnija klasifikacija.

Cilj je identificirati one grane koje omogućuju najmanje prediktivne sposobnosti po listu u grani, kako bi ih se izbacilo iz stabla.

U proceduri smanjivanja stabla (pruning) skupovi grana smanjivani su u odnosu na početno kompletno stablo odlučivanja, što je procedura slična eliminiranju prediktora u diskriminantnoj analizi. Na kraju je izabrano stablo odgovarajuće veličine s obzirom na točnost klasifikacije. Pri tome se uzima u obzir odnos složenosti stabla i veličine greške.

Pobjedničko podstablo se odabire na temelju ukupne greške (stope pogrešne klasifikacije) dobivene kada se model primijeni na testnom uzorku (Berry i Linoff, 1997).

M. ZEKIĆ- SUŠAC 8

Faze u kreiranju stabla odlučivanja1. Priprema podataka – pripremiti ulazne varijable, izlaznu varijablu (kategorijalnu), podjelu uzorka (varijablu koja će označiti koji dio uzorka se koristi za treniranje, a koji za testiranje stabla)

2. Izbor algoritma i parametara stabla

3. Generiranje grafičkog stabla odlučivanja (tree plot) i numeričke strukture stabla (tree structure)

4. Generiranje matrice konfuzije (na uzorku za treniranje i na uzorku za testiranje)

5. Tumačenje rezultata stabla odlučivanja (računanje greške)

6. Upotreba stabla odlučivanja u praksi

M. ZEKIĆ- SUŠAC 9

Primjer 1 – klasifikacija irisa s pomoću stabla odlučivanja

Pretpostavimo da želimo s pomoću stabla odlučivanja razvrstati cvjetove irisa u tri kategorije: ◦ (1) Setosa, (2) Versicolor, (3) Virginica

Koristit ćemo alat Statistica, u njemu učitati podatke iris.sta

U podacima su cvjetovi slučajno razmješteni, postoji varijabla “Sample” koja će biti indikator koji slučajevi će biti korišteni za treniranje, a koji za test:◦ 1 – treniranje (80% uzorka ili 120 slučajeva)◦ 2 – test (20% uzorka, ili 30 slučajeva)

M. ZEKIĆ- SUŠAC 10

Primjer 1 – priprema datoteke s podacimaDatoteka s podacima (iris.sta) izgleda ovako:

M. ZEKIĆ- SUŠAC 11

Primjer 1 – klasifikacija irisa s pomoću stabla odlučivanja

Za kreiranje stabla potrebno je aktivirati naredbu Statistics / Multivariate Exploratory Techniques / Classification Trees

Prvi korak je izbor varijabli, pa treba izabrati izlaznu, ulazne varijable, te sampling varijablu kao na slici:

M. ZEKIĆ- SUŠAC 12

Primjer 1 – provjera uzorkovanja

Klikom na sivu karticu Advanced treba provjeriti da li će program koristiti slučajeve označene s 1 za treniranje (učenje), a s 2 za testiranje:

Provjeriti kako je program učitao podatke za uzorkovanje

M. ZEKIĆ- SUŠAC 13

Primjer 1 – izbor algoritma i parametara stablaKlikom na sivu karticu “Method” izabire se algoritam stabla odlučivanja. Moguće je koristiti 3 algoritma:

discriminant based univariate splits

discriminant based linear combination splits

C&RT (CART) style exhaustive search for univariate splits

Ovi algoritmi predstavljaju različite načine pretraživanja stabla i prijeloma grana, kako bi se dobilo što manje stablo koje objašnjava veze između ulaznih i izlazne varijable.

Za naše potrebe koristit ćemo treći algoritam (CART), iako u svrhu eksperimentiranja možete koristiti sva tri algoritma pojedinačno i usporediti rezultate.

M. ZEKIĆ- SUŠAC 14

Primjer 1 – izbor algoritma i parametara stabla

U okviru “Goodness of fit” koristit ćemo

Gini measure – što je mjera za izbor uspješnosti stabla koja koristi formulu Gini indeksa (objašnjeno prije).

Sve ostale parametre ostavit ćemo standarno postavljeno (default):

Prior probabilities – estimated – znači da će program iz podataka odrediti koliki je udio pojedine klase u uzorku i odrediti prethodnu vjerojatnost pripadanja slučajeva u pojedinu klasu

Misclassification costs – equal – znači da će se pogrešno svrstavanje slučajeva u klasu tretirati s podjednakim troškom (greškom) za svaku klasu

Sve parametre u sivim karticama “Stopping options” i “Sampling” ostavljamo standardno postavljene.

M. ZEKIĆ- SUŠAC 15

Primjer 1 – Rezultati stabla odlučivanja Klikom na sivu karticu Quick, te na tipku “Classification tree plot” dobiva se grafički prikaz stabla kao na slici:

Classification Tree for Vrsta

Number of splits = 2; Number of terminal nodes = 3

1

2 3

4 5

LaticaD<=2.45

LaticaS<=1.75

39 81

40 41

3

1 3

2 3

1

2

3

M. ZEKIĆ- SUŠAC 16

Tumačenje stablaNa grafičkom prikazu stabla vidljivo je da su se samo dvije varijable pokazale relevantnima za razvrstavanje cvjetova irisa: LaticaD (duljina latice) i LaticaS (širina latice).

U prvom pravokutniku (na vrhu stabla) prikazane su tri kategorije cvijeta irisa (označene manjim pravokutnicima –svaki drugačijom bojom).

Stablo ima dvije glavne grane – lijevu i desnu.

Stablo ima 5 čvorova (eng. nodes)

U lijevoj grani je samo jedno dijete (child node), a u desnoj troje djece ili čvorova.

M. ZEKIĆ- SUŠAC 17

Tumačenje stabla - nastavakStablo pokazuje da cvjetovi koji imaju duljinu latica <=2,45, svi pripadaju u prvu klasu (od 120 cvjetova prisutnih u uzorku za treniranje, njih 39 zadovoljava ovaj uvjet).

Cvjetovi koji imaju duljinu latica >2,45, dalje se razvrstavaju ovisno o širini latice. Ako je širina latice <= 1,75, tada pripadaju u klasu 2, a ako je > 1,75, tada pripadaju u klasu 3.

Također je na linijama (granama) vidljivo koliko je cvjetova koji zadovoljavaju gore navedene uvjete.

M. ZEKIĆ- SUŠAC 18

Numerički prikaz stablaKlikom na tipku Summary Tree Structure dobiva se numerički (tablični) prikaz stabla, koji također prikazuje grane i čvorove unutar njih, te vrijednosti varijabli koje se koriste za prijelom (split) stabla:

M. ZEKIĆ- SUŠAC 19

Matrica konfuzije klasifikacijskog stablaKlikom na sivu karticu Predicted Classes, tipku Predicted Class by Observed Class, dobije se matrica konfuzije na uzorku za treniranje:

Tumačenje:Od 39 cvjetova koji su stvarno pripadali u prvu klasu, stablo je svih 39 ispravno svrstalo. Od 36 cvjetova koji su pripadali u drugu klasu, stablo je ispravno svrstalo njih 35, dok je jedan pogrešno svrstan u 3. klasu. Od 45 cvjetova koji su pripadali u treću klasu, stablo je njih 40 ispravno svrstalo, dok je 5 pogrešno svrstano u 2. klasu.

M. ZEKIĆ- SUŠAC 20

Matrica pogrešne klasifikacije na uzorku za testiranje

Klikom na karticu Cross Validation, tipku Misclassicification Matrix, na uzorku za testiranje dobiva se matrica:

Matrica pokazuje da nema pogrešno svrstanih cvjetova na uzorku za testiranje, što znači da je stopa točnosti klasifikacije na tom uzorku 100%.

M. ZEKIĆ- SUŠAC 21

Rezultati stabla odlučivanja

Način na koji je stablo razvrstalo slučajeve na uzorku za testiranje moguće je dobiti klikom na tipku Test sample / Predicted CAses, iz čega se kasnije u Excelu mogu izračunati različita mjerila uspješnosti, npr. stopa točnosti klasifikacije za svaku klasu i prosječna stopa klasifikacije.

Primjer pokazuje da je stablo odlučivanja kao metoda klasifikacije uspješna na uzorku cvjetova irisa.

Stablo odlučivanje može se kao metoda strojnog učenja koristiti za klasifikaciju slučajeve iz različitih područja: npr. pacijenata, klijenata banke, tvrtke, proizvoda, artikala itd.

M. ZEKIĆ- SUŠAC 22

Analiza značajnosti ulaznih varijabli -tablično

Za analizu značajnosti ulaznih varijabli kod stabla odlučivanja potrebno je kliknuti na sivu karticu “Tree structure” a zatim na tipku “Predictor Importance”, nakog čega se dobiva tablica koja predstavlja rang značajnosti svake ulazne varijable (u stupcu Ranking).

Tumačenje tablice: ◦ što je viša vrijednost ranga, veća je značajnost pojedine varijable u

modelu (0=najniži značaj, 100=najviši značaj)

M. ZEKIĆ- SUŠAC 23

Analiza značajnosti ulaznih varijabli - grafički

Klikom na tipku “Importance Plot” na istoj kartici dobiva se grafički prikaz (u obliku histograma) značajnosti varijabli prema tabličnim vrijednostima rangova.

Predictor Variable Importance Rankings

Dependent variable: Vrsta

Rankings on scale from 0=low importance to 100=high importance

ListD ListS LaticaD LaticaS

Predictor variable

0

20

40

60

80

100

Rankin

g

Iz grafikona je vidljivo također da su duljina latica i širina latica najznačajnije varijable u modelu, zatim slijedi duljina lista i najmanje je značajna širina lista.

M. ZEKIĆ- SUŠAC 24

Primjer 2 – kreiranje stabla za klasifikaciju studenata prema uspjehu

Stablo u ovom radu kreirano je na temelju 8 ulaznih kategorijalnih varijabli, pri čemu su korištene sljedeće vrijednosti parametara za izbor najpogodnijeg stabla:

(1) minimalni broj slučajeva koji kontrolira u kojem trenutku će se zaustaviti izbor prijeloma i započeti procedura pruning-a postavljen je na 16,

(2) jednake prethodne vjerojatnosti za obje klase studenata,

(3) kao pravilo zaustavljanja korištena je stopa pogrešne klasifikacije.

Nakon 3-fold unakrsne validacije, izabrano je najbolje klasifikacijsko stablo, koje je na kraju primijenjeno na testnom uzorku (istom uzorku na kojem su konačno testirane i neuronske mreže) radi dobivanja uvida u mogućnosti generalizacije modela na novim podacima, ali i usporedbe uspješnosti modela stabla odlučivanja i neuronskih mreža.

Struktura konačnog stabla odlučivanja dobivenog za promatrane podatke prikazana je na Slici 2.

M. ZEKIĆ- SUŠAC 25

ID=1 N=83

0

ID=2 N=60

0

ID=4 N=31

1

ID=5 N=29

0

ID=6 N=26

1

ID=7 N=5

0

ID=8 N=22

0

ID=9 N=7

1

ID=3 N=23

1

SP

= 2 = Other(s)

VOCJ

= 2, 3 = Other(s)

VRI

= 2, 3 = Other(s)

VRI

= 2, 3 = Other(s)

0

1

M. ZEKIĆ- SUŠAC 26

Prednosti stabala odlučivanja kao metode klasifikacije

▪ Mogu raditi i s kategorijalnim i kontinuiranim ulaznim vrijednostima

▪ Jednostavna su za razumijevanje i interpretaciju -grafička stabla dobivena ovom metodom su pregledna za opis modela

▪ Mogu se kombinirati s drugim metodama za potporu odlučivanju – neuronskim mrežama, ekspertnim sustavima i dr.

Literatura▪ G. Klepac, L. Mršić, Poslovna inteligencija kroz poslovne slučajeve, Lider, Tim Press, Zagreb,

2006.

▪ Ž. Panian, G. Klepac, Poslovna inteligencija, Masmedia, Zagreb, 2003.

▪ V.Čerić, M., Varga, Informacijska tehnologija u poslovanju, Element, Zagreb, 2004., poglavlja 13-16.

▪ T. Hastie, R. Tibshirani, J. Friedman, The Elements of Statistical Learning, Data Mining, Inference, and Prediction, Springer, Second Edition, 2013.

▪ F. Provost, T. Fawcett, Data Science for Business, What You Need to Know about Data Mining and Data-Analytic Thinking, O'Reilly Media, 2013.

▪ S. J. Russell, P.Norvig, Artificial Intelligence: A Modern Approach, Prentice Hall; 2nd edition, 2002.

▪ I.H. Witten, E. Frank, Data Mining: Practical Machine Learning Tools and Techniques with Java Implementation. Morgan Kaufman Publishers, San Francisco, CA, 2000.

▪ D. Graupe, Principles of Artificial Neural Networks (2nd edition), Advanced Series in Circuits and Systems - Vol. 6, World Scientific, Singapore 2007.

▪ Zekić-Sušac, M., Has, A., Predictive analytics in Big Data platforms – comparison and strategies, MIPRO BIS 2016, Opatija, Hrvatska

27