informacioni sistemi za podrŠku …odlucivanje.fon.bg.ac.rs/wp-content/uploads/test...pogrešio i...

8
INFORMACIONI SISTEMI ZA PODRŠKU MENADŽMENTU OBLAST: Classification ČVOROVI (WIDGET): Test learners, Predictions, Confusion matrix, ROC analysis, Calibration Plot SKUPOVI PODATAKA: Heart disease AUTOR: Kablar Dragan 513/07 2011, Beograd

Upload: others

Post on 26-Jan-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INFORMACIONI SISTEMI ZA PODRŠKU …odlucivanje.fon.bg.ac.rs/wp-content/uploads/Test...pogrešio i odredio klasu 0 (analogna metodologija se primenjuje i za klasu 1 kada se ona odabere

INFORMACIONI SISTEMI ZA PODRŠKU MENADŽMENTU

OBLAST: Classification

ČVOROVI (WIDGET): Test learners, Predictions, Confusion matrix, ROC analysis,

Calibration Plot

SKUPOVI PODATAKA: Heart disease

AUTOR: Kablar Dragan 513/07

2011, Beograd

Page 2: INFORMACIONI SISTEMI ZA PODRŠKU …odlucivanje.fon.bg.ac.rs/wp-content/uploads/Test...pogrešio i odredio klasu 0 (analogna metodologija se primenjuje i za klasu 1 kada se ona odabere
Page 3: INFORMACIONI SISTEMI ZA PODRŠKU …odlucivanje.fon.bg.ac.rs/wp-content/uploads/Test...pogrešio i odredio klasu 0 (analogna metodologija se primenjuje i za klasu 1 kada se ona odabere

Na početku naravno treba učitati bazu podataka, u našem slučaju reč je o bazi Heart disease. To činimo tako što na

radnu površinu prevučemo File ikonicu sa Data kartice, a zatim dvoklikom na istu otvaramo prozor u kome biramo koju

bazu podataka želimo da obraĎujemo.

Preporučljivo je da u sledećem koraku našu bazu tabelarno predstavimo da bismo stekli bolji uvid u same atribute u

datoj bazi. To ćemo učiniti tako što ćemo na radnu površinu prevući Data Table ikonicu, koja se takoĎe nalazi na Data

kartici. Izlaz File ikonice povezujemo sa ulazom Data Table ikonice (Drag and drop operacija). Dvoklikom na Data

Table ikonicu će nam se otvoriti tabela sa pregledom svih naših atributa.

Sa leve strane će nam se pojaviti neke informacije vezane za našu bazu, u našem slučaju program nas informiše da naša

baza ima 303 zapisa, svaki od njih ima 13 atributa, takoĎe nam piše i da je broj nedostajućih atributa 2 i da ne postoje

meta atributi, izlazni atribut je diskretna vrednost koja u našem slučaju može biti 1 ili 0. Desna strana nam daje

kompletan uvid u sve zapise kao i u vrednost atributa svakog od zapisa.

Objasnimo sada čvor Test Learners. Kako su svi čvorovi koji će ovde biti opisani ustvari čvorovi za evaluaciju,

odnosno ocenu modela, prvo treba da istreniramo neki model na konkretnoj bazi, pa tek onda da vršimo ocenjivanje

Page 4: INFORMACIONI SISTEMI ZA PODRŠKU …odlucivanje.fon.bg.ac.rs/wp-content/uploads/Test...pogrešio i odredio klasu 0 (analogna metodologija se primenjuje i za klasu 1 kada se ona odabere

kvaliteta modela, odnosno njegove tačnosti. Mi ćemo u našem slučaju izvršiti klasifikaciju i to koristeći Classification

Tree čvor (odnosno metod klasifikacije). Na radnu površinu ćemo prevući ranije pomenuta dva čvora koji se nalaze na

karticama Classify i Evaluate. Način povezivanja ovih čvorova (videti sliku) jasno pokazuje njihovu funkciju, odnosno

jasno se vidi da je čvor Test Learners zapravo čvor koji se koristi za OCENU kvaliteta nekog modela (metode), ovde

konkretno stabla odlučivanja.

Dvoklikom na čvor Test Learners se otvara se prozor u kome na levoj strani možemo da odaberemo način na koji ćemo

da vršimo ocenu modela, kao i kriterijume (parametre) ocenjivanja. Cross-validation metoda celu bazu deli na broj

zadatih Foldova (jednakih skupova), u našem slučaju pet, zatim trenira na četiri skupa, a testira na jednom. Ova

operacija se ponavlja pet puta (svaki skup je po jedan put izabran za test skup), za ocenu tačnosti se uzima prosečna

vrednost ovih pet ponavljanja. Kod manjih baza možemo koristiti i Leave-one-out metod koji u svakoj iteraciji izbacuje

po jedan zapis za test, a trenira na ostalima, na kraju nam daje uprosečenu vrednost svih iteracija (nije preporučljiv za

velike baze(veliki broj iteracija smanjuje brzinu obrade)). Random sampling nam omogućuje da odredimo veličinu

trening skup (u procentima) i broj iteracija pre nego što nam da uprosečene vrednosti kriterijuma ocenjivanja. Opcija

Test on train data, kako joj samo ime kaže, testira na trening podacima. Poslednja opcija, Test on test data, nam

omogućava da testiramo na test podacima, ali nam ona nije dostupna sada zato što nismo podelili podatke na trening i

test set pre obrade koristeći Data Sampler. Preporučuje se da dugme Apply on any change bude čekirano jer će nam

omogućiti da svaka promena bude automatski prihvaćena, u suprotnom bismo morali da nakon svakog menjanja

kliknemo na Apply dugme koje se nalazi tik ispod. Što se parametara ocenjivanja tiče mi smo ovde odabrali neke koji

će nadalje biti objašnjeni. Bitno je napomenuti da se parametri čitaju za svaku izlaznu klasu ponaosob, klasa se bira u

padajućem meniju Target class. Classification accuracy ili tačnost klasifikacije 73,93% u našem primeru, što znači da

model u 73,93% slučajeva daje tačan izlaz. Sensitivity nam govori u koliko posto slučajeva je model rekao da je izlazna

klasa 0 kada ona to zaista i jeste bila(78,66% slučajeva), dok nam Specificity govori u koliko posto slučajeva model nije

odredio izlaznu klasu 0 kada ona to zaista nije bila(68,35% slučajeva). Area under ROC curve, odnosno površina ispod

ROC krive iznosi 0,7969 (što je vrednost bliža 1 model je kvalitetniji).

Što se tiče Predictions čvora njime ćemo izvršiti ocenjivanje tako što ćemo prvo pomoću Data Sampler čvora (Data

kartica) podeliti podatke na test i trening skup, metodom Random sampling, i to u razmeri 30% prema 70%. Zatim

ćemo sa Evaluate kartice prevući i Predictions čvor i vezati ga kao na slici (na model i na podatke).

Page 5: INFORMACIONI SISTEMI ZA PODRŠKU …odlucivanje.fon.bg.ac.rs/wp-content/uploads/Test...pogrešio i odredio klasu 0 (analogna metodologija se primenjuje i za klasu 1 kada se ona odabere

Sa leve strane biramo da li će nam biti prikazana izlazna klasa iz modela tako što čekiramo Show predicted class,

takoĎe biramo i da li će nam biti prikazane verovatnoće predviĎanja za odreĎivanje u koju će klasu biti svrstan koji

zapis čekirajući Show predicted probabilities, i to birajući koje klase želimo (u našem slučaju 0 i/ili 1), kao i broj

decimala za te verovatnoće. Možemo odabrati i da li želimo da nam se prikazuju vrednosti atributa za svaki zapis i to u

opciji Data atributes => Show all. Primer isčitavanja tabele: za zapis broj 3 je model 100% siguran da pripada klasi 0.

Confusion Matrix vezujemo na Test Learners čvor kao na slici, ovaj čvor će nam pokazati vezu izmeĎu stvarnih klasa,

koji su prikazani u redovima matrice, i klasa koje je predvideo model, koje su prikazane u kolonama matrice.

Dvoklikom na Confusion Matrix čvor će nam se otvoriti prozor u kome će biti prikazana matrica čija polja se nalaze u

preseku stvarnih klasa (redovi) i klasa koje je predvideo model (kolone). Koje vrednosti će biti predstavljene u samim

poljima matrice (presecima kolona i redova) odabiramo iz padajućeg menija Show. Možemo odabrati da nam predstavi:

broj slučajeva (number of examples), odnos posmatranih i očekivanih slučajeva (observed and expected examples),

proporciju predviĎanja (proportions of predicted) i proporciju tačnosti (proportions of true).

Page 6: INFORMACIONI SISTEMI ZA PODRŠKU …odlucivanje.fon.bg.ac.rs/wp-content/uploads/Test...pogrešio i odredio klasu 0 (analogna metodologija se primenjuje i za klasu 1 kada se ona odabere

U delu Selection odabiramo da nam se osenče polja u matrici u kojima su vrednisti tačnih predviĎanja, koja će se naći

na glavnoj dijagobali matrice (opcija Correct), polja sa vrednostima za koja je model izneo pogrešna predviĎanja (opcija

Misclassified) ili pak da nam ne osenči ništa (opcija None). Kada su u opciji Output čekirana oba polja (Append class

predictions i Append predicted class probabilites) tada smo osigurali da će dodavanje novih atributa u bazu imati uticaja

na svrstavanje odreĎenog slučaja u neku klasu, odnosno na verovatniću sa kojom model vrši tačnost predviĎanja. Što se

tiče čitanja vrednosti u samoj matrici primer bi bio sledeći: Model je u 31,7% slučajeva rekao da će izlazna klasa biti 0,

a trebao je da odredi klasu 1. Ista analogija se primenjuje i na sva druga polja u matrici.

Čvor ROC Analysis se takoĎe vezuje na čvor Test Learners. Dvoklikom na ovaj čvor će nam se pojaviti prozor u kome

će biti prikazan grafikon na čijoj je X-osi predstavljen FP Rate (false positive rate), a na Y-osi TP Rate (true positive

rate).

Na našem konkretnom primeru TP Rate bi bili procenti slučajevi kada je model rekao da je izlazna klasa 0, a ona to

stvarno i jeste, dok bi FP Rate prikazivao procenat slučajeva za koje je model trebao da odredi izlaznu klasu 1, a on je

pogrešio i odredio klasu 0 (analogna metodologija se primenjuje i za klasu 1 kada se ona odabere u opciji Target class).

Na kartici General se vrši odabir klase (Target class) za koju želimo da vidimo ROC krivu (u našem slučaju je odabrana

Page 7: INFORMACIONI SISTEMI ZA PODRŠKU …odlucivanje.fon.bg.ac.rs/wp-content/uploads/Test...pogrešio i odredio klasu 0 (analogna metodologija se primenjuje i za klasu 1 kada se ona odabere

klasa 0). Ukoliko smo više klasifikacionih modela (njihovih izlaza) povezali na ulaz Roc Analysis-a moguće je u opciji

Classifiers odabrati krivu modela (odnosno metoda klasifikacije) koji nas zanima. U našem slučaju smo radili smo sa

modelom Classification Tree pa je on jedini prikazan. Ova opcija daje vrlo jasan prikaz površina ispod ROC krive (za

različite metode klasifikacije) što pokazuje i kvalitet samog modela, što je površina veća to je model bolji. Da bismo

jasnije (slikovitije) predstavili ovo o čemu govorimo upotrebićemo još jedan klasifikator, Naive Bayes.

Kao što nam sama slika prikazuje, vidimo da je model Naive Bayes (plava linija) daleko kvalitetnije obradio našu bazu

od modela Classifucation Tree (crvena linija), jer je površina ispod plave linije znatno veća od površine pod crvenom

linijom (vrednosti površina možemo pronaći u čvoru Test Learners parametar AUC(area under curve)). **Napomenimo

da i čvor Confusion Matrix omogućava uporedni prikaz ova dva modela. Kada ponovo dvokliknemo na njega videćemo

da se u polju Learners pojavio i Naive Bayes, a kada ga odaberemo videćemo da se verovatnoća greške koja je ranije

iznosila 31,7% upotrebom novog modela smanjila na 19,4%.**Ostale opcije na karticama General, Analysis i Setings

se pre svega koriste za samo grafičko prikazivanje modela, odnosno debljine linija, veličina tačaka i sl. Na kartici

Analysis pod opcijom Test Sets možemo odabrati koliko i koje skupove zapisa (Folds) želimo da predstavimo ROC

krivom. Kod nas se pojavljuje pet skupova (0-4) što je posledica načina uzorkovanja u Test Learnes čvoru kada smo

odabrali metod Cross-validation u opciji Sampling i odredili da nam se ona odradi na pet foldova (da smo tu izabrali 8

Fold-ova u ROC analysis-u bi imali Test set-ove 0-7).

Čvor Calibration Plot nam daje uvid u odnos stvarnih verovatnoća (actual probability) i predviĎenih verovatnoća

(estimated probability). Kao i kod čvora Roc Analysis biramo za koju klasu želimo da vidimo grafikon (opcija Target

class), a takoĎe biramo i za koje klasifikatore želimo da vidimo krivu u odabranoj klasi (opcija Classifiers). Na samom

grafikonu je predstavljena dijagonalna linija (koju možemo i isključiti u opciji Show Diagonal Line na kartici Setings),

njena svrha je da jasnije i preciznije vidimo kvalitet modela (odnosno klasifikatora) za odabranu klasu. Naime, što je

kriva koja predstavlja model bliža toj dijagonali to je model kvalitetniji. Ovo je naravno posledica toga što su stvarne i

predviĎene verovatnoće približne jedno drugoj, u idealnoj situaciji kriva modela bi se preklopila sa dijagonalnom

linijom grafikona. U našem slučaju model Naive Bayes je bolji od Classification Tree model, što je predstavljeno i na

slici gde kriva koja više „odgovara“ dijagonalnoj liniji predstavlja krivu Naive Bayes modela.

Page 8: INFORMACIONI SISTEMI ZA PODRŠKU …odlucivanje.fon.bg.ac.rs/wp-content/uploads/Test...pogrešio i odredio klasu 0 (analogna metodologija se primenjuje i za klasu 1 kada se ona odabere

Vrednosti na samoj krivoj modela se tumače na sledeći način: ukoliko se vrednost na krivoj nalazi iznad dijagonale reč

je o takozvanim potcenjenim predviĎenim verovatnoćama (predviĎene verovatnoće su manjih vrednosti od stvarnih

verovatnoća), a u slučaju da su vrednosti na krivoj ispod dijagonale reč je o precenjenim predviĎenim verovatnoćama

(model je dao veće vrednosti verovatnoća od onih koje su stvarne). Ovo odstupanje je posledica toga što model nije sto

posto siguran koji slučaj će biti svrstan u koju klasu. **Objašnjenje ovoga je moguće prikazati i sa slikom Predictions

čvora gde možemo videti da je model za četvrti zapis u bazi odredio verovatnoću od 25% da će model biti svrstan u

klasu 0, dok verovatnoća da će biti svrstan u klasu 1 iznosi 75%.**