SVEU ˇ
CILI ˇ
STE U ZAGREBU
PRIRODOSLOVNO–MATEMATI ˇ
CKI FAKULTET
MATEMATI ˇ
CKI ODSJEK
Anja Damiˇs
KLASIFIKACIJSKA STABLA
Diplomski rad
Voditelj rada:
prof. dr. sc. Anamarija Jazbec
Ovaj diplomski rad obranjen je dana pred ispitnim povjerenstvom u sastavu:
1. , predsjednik
2. , ˇclan
3. , ˇclan
Povjerenstvo je rad ocijenilo ocjenom .
Potpisi ˇclanova povjerenstva: 1.
2. 3.
Sadrˇzaj
Sadrˇzaj iii
Uvod 1
1 Metode bazirane na stablu 3
2 Implementacija klasifikacijskih stabla 5
2.1 Kreiranje klasifikacijskog stabla . . . 6 2.2 Podrezivanje klasifikacijskog stabla . . . 9 2.3 Krosvalidacija . . . 12
3 Specifiˇcni zahtjevi s obzirom na podatake 13
3.1 Kategorijski prediktori . . . 13 3.2 Matrica gubitaka . . . 13 3.3 Nedostatak prediktivnih vrijednosti . . . 14
4 Primjer u R-u 15
4.1 Neˇzeljena poˇsta . . . 15 4.2 Prilog: kod u R-u . . . 21
Bibliografija 24
Uvod
Statistika je neprestano izazvana problemima u mnogim podruˇcjima znanosti i industrije. Generiranje ogromnih koliˇcina podataka beskorisno je ako iz njih neˇsto ne moˇzemo nauˇciti i dati im smisao. Uˇcenje iz podataka je izdvajanje vaˇznih obrazaca i trendova kao i razu-mijevanje onoga ˇsto podaci govore. Problemi u uˇcenju koje razmatramo mogu se ugrubo kategorizirati u nadzirane probleme i probleme bez nadzora. Kod uˇcenja bez nadzira-nja nema izlaznog mjerenadzira-nja i cilj je opisati kako su podaci organizirani i grupirani. U nadziranom uˇcenju cilj je predvidjeti vrijednost mjerenja ishoda na temelju broja ulaznih mjerenja. Zovu se nadzirani jer je prisutna izlazna varijabla koja vodi proces uˇcenja. Na temelju prikupljenih podataka moˇzemo istrenirati neku metodu kao i testirati njezinu pre-ciznost. Podaci se sastoje od mjernih znaˇcajki za skup objekata (npr. ljudi) i opaˇzenih ishoda. Koriˇstenjem ovih podataka izradujemo prediktivni model koji ´ce nam omogu´citi predvidanje ishoda za nove objekte. Dobar prediktivni model je onaj koji precizno predvida ishod. U tipiˇcnom scenariju imamo kvantitativna (npr. cijena dionica) ili kategorijska (npr. ima infarkt/nema infarkt) izlazna mjerenja, koja ˇzelimo predvidjeti na temelju skupa znaˇcajki (npr. dijeta i kliniˇcka mjerenja). Slijedi nekoliko primjera problema uˇcenja:
• Identificiranje neˇzeljene poˇste na temelju frekvencije nekih rijeˇci i znakova u samoj poruci.
• Predvidanje potrebe navodnjavanja poljoprivrednog zemljiˇsta na temelju klimatskih, oborinskih podataka i podataka o kulturi koja se uzgaja.
• Predvidanje ho´ce li pacijent, hospitaliziran radi srˇcanog udara, imati drugi srˇcani udar na temelju demografskih obiljeˇzja, dijete i kliniˇckih mjerenja pacijenta.
• Identificiranje brojeva u ruˇcnom zapisu ZIP koda s digitalne fotografije.
Navedeni primjeri predstavljaju nadzirane probleme. Razlika u tipovima izlaznih va-rijabli dovodi nas do konvencije u nazivlju vezane uz prediktivne zadatke: regresija kada predvidamo kvantitativni ishod i klasifikacija kada predvidamo kvalitativni ishod. Jedan od mogu´cih pristupa modeliranja klasifikacijskog problema je metoda klasifikacijskih stabla. To je konceptualno jednostavna metoda, osobito za interpretaciju i vizualizaciju rezultata,
UVOD 2
temeljena na binarnim stablima. Problem je u pronalaˇzenju uvijeta na podatke prema ko-jima kreiramo samo stablo i u postizanju optimalnog stabla, tj. onog koje ´ce proizvoditi minimalnu greˇsku na novim podacima koji nisu koriˇsteni prilikom njegove izrade.
Poglavlje 1
Metode bazirane na stablu
Razmotrimo klasifikacijski problem s tri razreda i ulaznim varijablamaX1 i X2, a prostor
znaˇcajki je skup svih mogu´cih vrijednosti odX1 i X2. Particioniramo ga rekurzivnim
bi-narnim dijeljenjem u skup pravokutnika. Tada prilagodavamo jednostavni model (poput konstante) u svaki od pravokutnika. Prvim cijepanjem dobivamo 2 podruˇcja i modeli-ramo odziv u svakom podruˇcju najuˇcestalijom kategorijom koja se pojavljuje, za razliku od regresijskog stabla gdje bi odziv modelirali srednjom vrijednosti varijable odziva. Oda-biremo varijablu i toˇcku cijepanja tako da ostvarimo najbolju prilagodbu podataka. Tada su jedno ili oba podruˇcja podijeljena u joˇs dva podruˇcja i taj proces se nastavlja dok se ne primijeni neko pravilo zaustavljanja. U primjeru ilustriranom na slici 1.1 prvo cijepamo u X1 = t1. Tada smo podruˇcje gdje je X1 ≤ t1 podijelili u X2 = t2 i podruˇcje X1 > t1 je
podijeljeno uX1= t3. I konaˇcno je podruˇcje gdje jeX1> t3podijeljeno uX2= t4. Rezultat
ovog procesa je particija na 5 podruˇcjaR1,R2, ...,R5.
Odgovaraju´ci klasifikacijski model predvida kategorijsku varijabluY s konstantom cm
u podruˇcjuRm: ˆ f(X1,X2)= 5 X m=1 cm1{(X1,X2)∈Rm}. (1.1)
Isti model moˇzemo prezentirati binarnim stablom. Ukupni skup podataka leˇzi u kori-jenu stabla. Opservacije koje zadovoljavaju uvijet pri svakom ˇcvoru dodijeljuju se lijevoj grani, a preostale desnoj grani. Krajnji ˇcvorovi ili listovi stabla predstavljaju podruˇcja R1,R2, ...,R5 za koja modeliramo odzive najuˇcestalijim kategorijama u tim podruˇcjima
(slika 1.2). Particija prostora znaˇcajki u potpunosti je opisana jednim stablom ˇcak i kada imamo viˇse od dvije ulazne varijable. Umjesto da cijepamo svaki ˇcvor u samo dvije grupe u svakoj fazi, mogli bi razmotriti mnogostruko cijepanje u viˇse od dvije grupe. Dok to pone-kad moˇze biti korisno, nije dobra op´cenita strategija. Problem je u tome ˇsto viˇsestruka cije-panja fragmentiraju podatke prebrzo, ostavljaju´ci nedovoljno podataka na sljede´coj razini ispod. Osnovna prednost rekurzivnih binarnih stabala, koja joˇs zovemo i stabla odluˇcivanja
POGLAVLJE 1. METODE BAZIRANE NA STABLU 4
Slika 1.1: Particija prostora znaˇcajki na podruˇcjaR1,R2, ...,R5u kojima modeliramo odzive
redom sc1= 2,c2= 3,c3= 1,c4= 3ic5 = 2.
Slika 1.2: Klasifikacijsko stablo za dvije ulazne varijableX1 iX2 s tri razreda1,2i3 ˇcija
je uˇcestalost za svako podruˇcje prikazana odgovaraju´com bojom.
je u interpretativnosti. Stabla su sliˇcnija uobiˇcajenom procesu donoˇsenja odluka od nekih drugih pristupa. Klasifikacijsko stablo izradeno je na temelju dostupnih podataka kako bi za nove vrijednosti ulaznih varijabli mogli predvidjeti kategoriju propuˇstanjem poda-taka kroz stablo. Implementacija popularne metode za klasifikaciju i regresiju bazirana na stablu je opisana u sljede´cem poglavlju.
Poglavlje 2
Implementacija klasifikacijskih stabla
Algoritam za implementaciju klasifikacijskih stabla temelji se na CART (engl. classifica-tion and regression tree) metodi. Skup podataka za uˇcenje se sastoji od pulaznih varijabli X1,X2, ...,Xp i kategorijskog odziva Y koji poprima vrijednosti 1,2, ...,K za svaku od n
opservacija. Podijelimo taj skup na skup podataka za trening, nad njim kreiramo stablo, i na skup podataka za testiranje na kojem opaˇzamo greˇsku dobivenog stabla. Izrada klasifi-kacijskog stabla odgovara problemu particioniranja prostora znaˇcajki (skupa svih mogu´cih vrijednosti za ulazne varijable) na lrazliˇcitih nepreklapaju´cih podruˇcja. Iako bi u teoriji ta podruˇcja mogla imati bilo kakav oblik, zbog jednostavnosti i interpretacije rezultata di-jelimo prostor znaˇcajki na viˇsedimenzionalne pravokutnikeR1,R2, ...,Rl. Algoritam mora
automatski odluˇciti koje su to varijable cijepanja i toˇcke cijepanja kao i kojeg oblika stablo treba biti.
Koraci algoritma
1. Izrada velikog stabla rekurzivnim binarnim dijeljenjem na skupu podataka za trening zaustavljaju´ci se tek kad svaki krajnji ˇcvor ima manje od zadanog broja opservacija. 2. Podrezivanje velikog stabla kako bismo dobili niz najboljih podstabala.
3. a) Odabir podstabla koje proizvodi najmanju greˇsku na skupu podataka za testira-nje.
b) Ukoliko nemamo dovoljno podataka da ih podijelimo na podatke za treniranje i testiranje koristimo krosvalidaciju za procjenu greˇske dobivenih podstabala na temelju ˇcega odaberemo finalno stablo.
POGLAVLJE 2. IMPLEMENTACIJA KLASIFIKACIJSKIH STABLA 6
2.1
Kreiranje klasifikacijskog stabla
Kod kreiranja stabla primijenjujemo pristup odozgo prema dolje. Poˇcinjemo na vrhu sta-bla kada sve opservacije pripadaju jednom podruˇcju, a svakim cijepanjem nastaju 2 ˇcvora djeteta ispod ˇcvora cijepanja. U svakom koraku odabire se najbolje cijepanje bez obzira na to ˇsto ´ce to cijepanje prouzroˇciti u sljede´cem koraku, dakle radi se o pohlepnom algoritmu (engl. greedy algorithm) kojeg zovemo rekurzivno binarno dijeljenje. Najbolje cijepanje znaˇci da smo proizveli ˇcvorove koji sadrˇze opservacije iz istog razreda. Skup mogu´cih cijepanja koja uzimamo u obzir definiran je na sljede´ci naˇcin:
• Svako cijepanje ovisi o vrijednosti samo jedne ulazne varijable.
• Cijepanje varijableXj, j∈ {1,2, ...,p}je tipaXj ≤ s, za neki s∈(−∞,∞).
Lako je vidjeti da postoji konaˇcan broj razliˇcitih cijepanja podataka. Ako su vrijednosti varijableXj poredane po veliˇcini, imamo najviˇsenrazliˇcitih vrijednosti pa imamo najviˇse
n−1 razliˇcitih mogu´cnosti za odabir mjesta cijepanja. Toˇcka cijepanja sjednaka je sred-njoj vrijednosti dviju uzastopnih vrijednosti varijableXj izmedu kojih je odabrano mjesto
cijepanja. Prostor znaˇcajki se time podijeli na dvije poluravnine:
R1(j,s)={X;Xj ≤ s} i R2(j,s)= {X;Xj > s}, (2.1)
koje predstavljaju dva nastala ˇcvora djeteta. Ponavljamo proces cijepanja na svako od ta dva podruˇcja. Tada se proces ponavlja na sva nastala podruˇcja. Skeniranjem kroz sve ulazne varijable lako je prona´ci najbolji par varijable i toˇcke cijepanja koriste´ci jedan od sljede´cih kriterija za utvrdivanje neˇcisto´ce ˇcvora, a pomo´cu njega i kvalitetu pojedinog cijepanja.
Mjere neˇcisto´ce ˇcvorova i kvaliteta cijepanja ˇcvora
Neka (xi,yi) predstavlja opservaciju za i = 1,2, ...,n s time da je xi = (xi1,xi2, ...,xip).
Oznaˇcimo s ˆpmkrelativnu frekvenciju opservacija koje pripadaju razreduku ˇcvorum:
ˆ pmk = 1 nm X xi∈Rm 1{yi=k}(xi), (2.2)
gdje jeRm podruˇcje koje predstavlja ˇcvor m, anm broj opservacija u tom ˇcvoru. Kriterij
koji koristimo prilikom odabira mjesta cijepanja je mjera neˇcisto´ce ˇcvora koju oznaˇcavamo s Q(m). To je funkcija relativnih frekvencija u ˇcvorum, Q(m) = φ( ˆpm1,pˆm2, ...,pˆmk) koja
mora zadovoljiti sljede´ce zahtjeve:
1. φpoprima maksimalnu vrijednost kada su opservacije u ˇcvorumjednako zastupljene, tj. ˆpmk = n1
POGLAVLJE 2. IMPLEMENTACIJA KLASIFIKACIJSKIH STABLA 7
2. φ poprima minimalnu vrijednost kada sve opservacije u ˇcvoru m pripadaju istom razreduk, tj. ˆpmk= 1 i ˆpmk0 =0,∀k0 , k.
3. φje simetriˇcna funkcija relativnih frekvencija ˆpm1,pˆm2, ...,pˆmk.
Najzastupljeniji razred u ˇcvorumdefiniramo na sljede´ci naˇcin: k(m)=argmax
k pˆmk. (2.3)
Bez obzira na to koju mjeru neˇcisto´ce ˇcvoramkoristimo, prirodno je definirati kvalitetu cijepanjatog ˇcvora u toˇckisvarijableXj kao redukciju neˇcisto´ce ˇcvora koja se tim
cijepa-njem postiˇze: Q(j,s,m)= Q(m)− nmL nm ·Q(mL)− nmR nm ·Q(mR), (2.4)
s tim da je nm broj opservacija u ˇcvoru m, a nmL i nmR oznaˇcavaju broj opservacija u
ˇcvorovima mL i mR koji predstavljaju dva ˇcvora djeteta nastala tim cijepanjem. Sada
moˇzemo definirati neke od mjera neˇcisto´ce ˇcvorova:
Klasifikacijska greˇska(engl. misclassification error): 1
nm
X
xi∈Rm
1{yi,k(m)}(xi)= 1−pˆmk(m) (2.5)
Klasifikacijska greˇska je jednostavno udio opservacija u ˇcvorumkoje ne pripadaju ve´cinskom razredu. Uobiˇcajeno ju je koristiti prilikom podrezivanja stabla. Unatoˇc tome ˇsto je intu-itivno prikladna mjera za opisivanje neˇcisto´ce ˇcvora, postoje nedostaci koriˇstenja klasifika-cijske greˇske prilikom kreiranja stabla. Razmotrimo dvoklasni problem s 400 opservacija u svakom razredu i oznaˇcimo to s (400,400). Pretpostavimo da cijepanje kreira ˇcvorove (300,100) i (100,300), dok neko drugo cijepanje kreira ˇcvorove (200,400) i (200,0) (slika 2.1). Kvaliteta oba cijepanja iznosi 0.25, no drugo cijepanje daje ˇcisti ˇcvor. ˇZelimo takvu mjeru neˇcisto´ce ˇcvora koja ´ce drugom cijepanju dati prednost pred onim prvim.
U op´cenitom dvoklasnom problemu oznaˇcimo razrede s 0 i 1, a njihove relativne frek-vencije oznaˇcimo redom s 1−pi p. Klasifikacijska greˇska za taj sluˇcaj prikazana je na slici 2.2. Kako se kre´cemo od maksimuma up=1/2 do minimuma u p=1, funkcija bi trebala padati brˇze od linearne. Sliˇcno, kako se kre´cemo od minimuma u p = 0 do maksimuma u p = 1/2, funkcija bi trebala rasti sporije od linearne. To je ekvivalentno zahtjevu da funkcija bude strogo konkavna, stoga sada imamo modificirane zahtjeve za funkcijuφ:
1. φ(0)= φ(1)=0, 2. φ(p)=φ(1−φ(p)), 3. φ00(p)<0,0< p< 1.
POGLAVLJE 2. IMPLEMENTACIJA KLASIFIKACIJSKIH STABLA 8
Slika 2.1: Dvoklasni problem s 400 opservacija u svakom razredu i dvije mogu´cnosti cije-panja.
Dvije mjere koje zadovoljavaju navedena svojstva su Gini indeks i unakrsna entropija. Za dvoklasni sluˇcaj su takoder prikazane na slici 2.2. Za razliku od klasifikacijske greˇske, prikladne su za koriˇstenje kod kreiranja stabla, a moˇze ih se koristiti i kod podrezivanja.
Gini indeks: X k,k0 ˆ pmkpˆmk0 = K X k=1 ˆ pmk(1− pˆmk) (2.6)
U dvoklasnom sluˇcaju ovo je varijanca Bernoullijeve sluˇcajne varijable definirana izvlaˇcenjem (s ponavljanjem) opservacije iz ˇcvora na sluˇcajan naˇcin i opaˇzanjem njenog razreda. Stoga redukciju neˇcisto´ce ˇcvora promatramo kao redukciju varijance, a Gini indeks viˇseklasnog sluˇcaja je zapravo mjera ukupne varijance prekoK razreda. Nije teˇsko vidjeti da poprima male vrijednosti ako su svi ˆpmk blizu 0 ili 1, a to znaˇci da ˇcvor sadrˇzi preteˇzito opservacije
iz istog razreda.
Unakrsna entropija (engl. cross-entropy) ili devijacija:
− K X k=1 ˆ pmklogpˆmk (2.7)
Unakrsna entropija je prosjeˇcna koliˇcina informacija generirana izvlaˇcenjem (s ponavlja-njem) opservacije iz ˇcvora na sluˇcajan naˇcin i opaˇzanjem njenog razreda pa ako je ˇcvor ˇcist, opaˇzanje razreda doprinosi s 0 informacija. S obzirom na to da je 0≤ pˆmk ≤1, slijedi
0 ≤ −pˆmklogpˆmk. Mjera unakrsne entropije ´ce takoder poprimiti vrijednost blizu 0 ako su
svi ˆpmk blizu 0 ili 1. Kao i Gini indeks poprima male vrijednosti ako ˇcvor sadrˇzi preteˇzito
opservacije iz iste klase.
S obzirom na to da u svakom koraku odabiremo najˇciˇs´ci ˇcvor na temelju podataka za treniranje, generirano stablo je pretjerano prilagodeno podacima (engl. overfit) i sigurno ne´ce raditi tako dobro na testnim podacima.
POGLAVLJE 2. IMPLEMENTACIJA KLASIFIKACIJSKIH STABLA 9
Slika 2.2: Mjere neˇcisto´ce ˇcvorova za dvoklasnu klasifikaciju kao funkcije relativne frek-vencijeprazreda 1. Unakrsna entropija je skalirana da prode kroz (0.5,0.5).
2.2
Podrezivanje klasifikacijskog stabla
Koliko bi stablo trebalo biti veliko? Osim pretjerane prilagodenosti podacima, premalo stablo moˇzda ne bi obuhvatilo vaˇznu strukturu. Veliˇcina stabla je parametar podeˇsavanja i upravlja kompleksnoˇs´cu modela te bi optimalna veliˇcina stabla trebala biti prilagodeno odabrana iz podataka. Preferirana strategija je izrada velikog stablaT0 na ranije opisani
naˇcin zaustavljaju´ci proces cijepanja tek kad je dosegnuta neka minimalna veliˇcina ˇcvora (recimo 5). Tada se to veliko stablo podrezuje kako bi dobili podstablo ˇcijim odabirom imamo najmanju greˇsku na podacima za testiranje stabla. Ukoliko nemamo dovoljno po-dataka koje bi podijelili na podatke za trening i na podatke za testiranje, moˇzemo tu greˇsku procjeniti koriˇstenjem krosvalidacije koja je kasnije opisana, no s obzirom na veliki broj mogu´cih podstabala potrebno je na neki naˇcin smanjiti izbor podstabala koje uzimamo u obzir. To postiˇzemo koriste´ci troˇsak posljedice sloˇzenosti podrezivanje (engl. cost-complexity pruning) koje joˇs zovemo podrezivanje najslabije karike (engl. weakest link
POGLAVLJE 2. IMPLEMENTACIJA KLASIFIKACIJSKIH STABLA 10
(a) StabloT0 (b) StabloT0−Tm3 i granaTm3 Slika 2.3: Podrezivanje inicijalnog stablaT0u ˇcvorum3
pruning).
Podrezivanje inicijalnog stablaT0 u ˇcvorumznaˇci da taj ˇcvor postaje krajnji ˇcvor ili list,
a svi njegovi potomci su uklonjeni. Tmje grana koja se sastoji od ˇcvorami svih njegovih
potomaka, a nastalo podstablo oznaˇcavamo sT0−Tm(slika 2.3).
Podrezano podstabloT ⊆ T0je bilo koje stablo nastalo podrezivanjem stablaT0u 0 ili
viˇse ˇcvorova, tj. uruˇsavanjem bilo kojeg broja unutarnjih (ne krajnjih) ˇcvorova.
Neka je Teskup svih krajnjih ˇcvorova (listova) uT, |Te|broj krajnjih ˇcvorova u T i nm
broj opservacija u ˇcvorum, odnosno u podruˇcjuRm koje taj ˇcvor predstavlja. Definiramo
klasifikacijsku greˇsku stablaQT kao udio opservacija iz skupa podataka za trening koje su
pogreˇsno klasificirane stablomT:
QT =
X
m∈eT
nm
n Q(m), (2.8)
gdje naravno koristimo klasifikacijsku greˇsku kao mjeru neˇcisto´ce ˇcvora. Sada definiramo cijenu sloˇzenosti (engl.cost complexity):
Cα(T)= QT +α|Te|. (2.9)
Kada se broj krajnjih ˇcvorova pove´ca za jedan (jedno dodatno cijepanje binarnog stabla), tada seCα(T) pove´cava za α(ako udio pogreˇsno klasificiranih opservacija ostane isti) pa
α|Te|predstavlja kaznu za kompleksnost stabla. Ovisno o vrijednosti odα(≥0) kompleksno
stablo koje ne proizvodi pogreˇsku bi sada moglo proizvesti ve´cu ukupnu greˇsku od manjeg stabla koje proizvodi mnoge pogreˇske. Moˇzemo re´ci da podesivi parametar α upravlja kompromisom izmedu veliˇcine stabla i ocjene prilagodbe podacima. Ideja je za svakiα prona´ci podstabloT(α)⊆T0za koje vrijedi:
POGLAVLJE 2. IMPLEMENTACIJA KLASIFIKACIJSKIH STABLA 11
1. Cα(T(α))=minT⊆T0Cα(T)
2. Ako jeCα(T)=Cα(T(α)), tadaT(α)⊆T.
Prvi uvijet kaˇze da ne postoji podstablo odT0koje ima manju vrijednost odCαnegoT(α),
a drugi kaˇze da ako postoji izjednaˇcenje, tj. ako postoji viˇse stabala koja postiˇzu taj mi-nimum, odabiremo najmanje podstablo za T(α). Iako α moˇze biti bilo koji nenegativan broj, postoji samo konaˇcno mnogo podstabala od T0. Moˇzemo konstruirati padaju´ci niz
T1 ⊃ T2 ⊃ T3 ⊃ ... ⊃ {m1} podstabala od T0 takav da je Tk najmanje minimiziraju´ce
podstablo zaα ∈ [αk, αk+1), a{m1}korijen stabla. Prvo stablo u nizu T1 je najmanje
pod-stablo odT0 koje ima jednak udio pogreˇsno klasificiranih opservacija kao iT0 (T1=Tα=0).
Za pronalazak stablaT1 odaberemo bilo koji par listova (ispod zajedniˇckog ˇcvora) koji se
mogu stopiti sa ˇcvorom bez pove´canja udijela pogreˇsno klasificiranih opservacija. Nastav-ljamo tako dugo dok takav par listova viˇse ne postoji. Na taj naˇcin dobijemo stabloT1koje
ima jednaku vrijednost odCα(T) kao i T0 zaα = 0, no s obzirom na to da je manje, ima
prednost pred stablomT0. Preostaje joˇs prona´ci ostala podstabla u nizu kao i odgovaraju´ce
vrijednosti odα.
Neka jeTmgrana stablaTs korijenom u ˇcvorum. Za koju vrijednost odαpodstabloT−Tm
postaje bolje od stablaT? Kada bismo podrezivali um, doprinos ukupnomCα(T −Tm) bi
bioCα({m}) = Q{m}+ α. Doprinos grane Tm ukupnomCα(T) jeCα(Tm) = QTm + α|Tem|.
T −Tmpostaje bolje stablo kada jeCα({m}) = Cα(Tm) jer za tu vrijednost odαimaju istu
cijenu, noT −Tmje manje stablo. Kada jeCα({m})=Cα(Tm) tada imamo:
QTm +α|Tem|=Q{m}+α, (2.10)
iz ˇcega slijedi formula zaα:
α= Q{m}−QTm
|Tem| −1
. (2.11)
Da bi iz trenutnog podstabla Tk dobili sljede´ce podstablo Tk+1, za svaki unutarnji ˇcvor m
podstablaTkizraˇcunamo:
gk(m)=
Q{m}−QTk,m
|Tek,m| −1
, (2.12)
vrijednost odαza koju jeTk−Tmbolje stablo odTk. Tada odaberemo najslabije karike,
od-nosno ˇcvorove za kojegk postiˇze minimum i u njima podreˇzemoTk kako bi dobili sljede´ce
podstabloTk+1. To ponavljamo sve dok ne dodemo do korijena stabla. Iz niza podstabala
generiranog podrezivanjem odaberemo ono finalno stablo koje ima najmanji udio pogreˇsno klasificiranih opservacija kada je primijenjeno na skup podataka za testiranje, oznaˇcimo tu greˇsku sRts(T) za stabloT. Procjenjujemo stvarnu greˇsku kao:
S E(Rts)=
r
Rts(1−Rts)
ntest
, (2.13)
POGLAVLJE 2. IMPLEMENTACIJA KLASIFIKACIJSKIH STABLA 12
2.3
Krosvalidacija
Kada je skup podataka premali za dijeljenje koristimo ga kao skup podataka za trening, no tada nemamo skup podataka za testiranje pa poseˇzemo za peterostrukom ili deseterostru-kom krosvalidacijom (engl. cross-validation). Konstruiramo stablo na prije opisani naˇcin i izraˇcunamoα1, α2, ..., αK i T1 ⊃ T2 ⊃ ... ⊃ TK, gdje je Tk je najmanje minimiziraju´ce
podstablo zaα∈[αk, αk+1). Sada ˇzelimo odabrati stablo iz tog niza. Procjenjujemo greˇsku
stablaTk iz tog niza na indirektan naˇcin.
1. korak Neka je β1 = 0, β2 = √ α2α3, β3 = √ α3α4, ... ,βK−1 = √ αK−1αK, βK = ∞.
Smatramo da jeβK tipiˇcna vrijednost za [αk, αk+1), stoga kao vrijednost odgovaraTk.
2. korak Podijelimo skup podataka uvgrupaG1,G2, ...,Gv (jednakih veliˇcina) i za svaku
grupuGj:
1. Generiramo niz stabala s podrezivanjem na svim podacima osim naGj i
odre-dimoT(j)(β
1),T(j)(β2), ...,T(j)(βK) za taj niz.
2. Izraˇcunamo greˇsku odT(j)(β
k) naGj.
Uoˇcimo da jeT(j)(β
k) najmanje minimiziraju´ce podstablo niza izgradenog na svim
podacima osim naGj, zaα= βk.
3. korak Za svaki βk sumiramo greˇske od T(j)(βk) nad Gj, (j = 1,2, ...,v). Neka βh ima
najniˇzu ukupnu greˇsku. Budu´ci daβhodgovaraTh, odaberemoThiz niza stabala
ge-neriranih na svim podacima kao finalno stablo. Koristimo greˇsku izraˇcunatu krosva-lidacijom kao procjenu greˇske odabranog stabla. Vaˇzno je primijetiti da u opisanoj proceduri koristimo krosvalidaciju da bi odabrali najbolju vrijednost parametra kom-pleksnosti iz skupaβ1, ..., βK. Jednom kad je najbolja vrijednost utvrdena, vratimo
Poglavlje 3
Specifiˇcni zahtjevi s obzirom na
podatake
3.1
Kategorijski prediktori
Za kategorijske prediktore koji imajuq mogu´cih neuredenih vrijednosti, imamo 2q−1 −1
mogu´cih odabira mjesta za cijepanje podataka pa izraˇcuni postaju zahtjevni za velike q. No, s ishodom 0− 1, izraˇcuni se pojednostavljuju. Poredamo razrede prediktora prema proporciji koji padaju u ishod klase 1. Tada cijepamo taj prediktor kao da je uredeni pre-diktor. Moˇze se pokazati da to daje optimalo cijepanje, u terminima unakrsne entropije ili Gini indeksa, od svih mogu´cih 2q−1−1 cijepanja. Ovaj rezultat takoder vrijedi za kvanti-tativni ishod i kvadratnu pogreˇsku gubitka - kategorije su poredane po rastu´cim sredinama ishoda. Algoritam za particioniranje ima sklonost favorizirati kategorijske prediktore s mnogo razinaq; broj particija raste eksponencijalno uqi ˇsto viˇse izbora imamo, vjerojat-nije je da ´cemo na´ci dobar izbor za podatke koje imamo. Ovo moˇze dovesti do pretjerane prilagodenosti podacima ako jeqvelik i takve bi varijable trebalo izbjegavati.
3.2
Matrica gubitaka
U klasifikacijskim problemima, posljedice pogreˇsne klasifikacije opservacija su u nekim razredima ozbiljnije nego u drugim. Npr., vjerojatno je gore predvidjeti da osoba ne´ce imati srˇcani udar kad ´ce se to u stvarnosti dogoditi, nego obratno. Da bismo to uzeli u obzir, definiramo matricu gubitakaL, gdje jeLkk0gubitak nastao klasificiranjem opservacija razredaku razredk0, gdje suk,k0 = 1,2, ...,K. Smatramo da za ispravnu klasifikaciju nije
nastao gubitak, tj. Lkk = 0,∀k. Da bismo ukljuˇcili gubitke u proces modeliranja, mogli
bismo modificirati Gini indeks u P
k,k0Lkk0pˆmkpˆmk0. To bi bio oˇcekivani gubitak nastao randomiziranim pravilom. Ovo funkcionira za sluˇcaj u kojem imamo viˇse od 2 razreda, no
POGLAVLJE 3. SPECIFI ˇCNI ZAHTJEVI S OBZIROM NA PODATAKE 14
u dvoklasnom sluˇcaju nema efekta jer je koeficijent ˆpmkpˆmk0 jednak Lkk0 + Lk0k. Za dvije klase bolji je pristup ponderaranja (dodavanje teˇzine) opservacijama u razreduk za Lkk0. Ovo se moˇze koristiti u sluˇcaju viˇse klasa samo ako, kao funkcija od k, Lkk0 ne ovisi o k0. Ponderiranje opservcija se moˇze takoder koristiti i s devijacijom. Uˇcinak ponderiranja opservacija je izmjena prethodnih vjerojatnosti razreda. U krajnjem ˇcvoru klasificiramo na klasek(m)= argminkPlLlkpˆml.
3.3
Nedostatak prediktivnih vrijednosti
Pretpostavimo da za naˇse podatke nedostaju neke vrijednosti jednog ili svih prediktora. Mogli bismo odbaciti svaku opservaciju za koju neke vrijednosti nedostaju, no to bi mo-glo dovesti do ozbiljnog osiromaˇsivanja skupa podataka za treniranje. Alternativno, mogli bismo u takvom prediktoru pokuˇsati popuniti te vrijednosti s recimo srednjom vrijednosti preostalih opservacija. Za modele koji se baziraju na stablu postoje dva bolja pristupa. Prvi je primijenjiv na kategorijske prediktore. Jednostavno napravimo novu kategoriju za ”nedostaju´ce vrijednosti”. Iz toga bi mogli otkriti da se opservacije za koje nedostaju vrijednosti za neka mjerenja ponaˇsaju drugaˇcije od onih za koje to nije sluˇcaj. Drugi, op´cenitiji pristup je konstrukcija surogat varijabli. Kad uzimamo u obzir prediktor za cije-panje, koristimo samo opservacije za koje taj prediktor ima vrijednosti. Odabirom najbo-ljeg (primarnog) prediktora i toˇcke cijepanja, formiramo listu surogat prediktora i toˇcaka cijepanja. Prvi surogat je prediktor i odgovaraju´ca toˇcka cijepanja koja najbolje oponaˇsa cijepanje podataka za trening postignuto primarnim cijepanjem. Drugi surogat je prediktor i odgovaraju´ca toˇcka cijepanja koja je druga najbolja itd. Kod slanja opservacija niz stablo ili u fazi treniranja podataka ili kroz predikciju, koristimo surogat cijepanja po redu, ako je primarni prediktor cijepanja s nedostaju´cim vrijednostima. Surogat cijepanja iskoriˇstavaju korelacije izmedu prediktora za pronalazak i ublaˇzavanje efekta izostanka podataka. ˇSto je ve´ca korelacija izmedu prediktora s nedostaju´cim vrijednostima i ostalih prediktora, manji je gubitak informacija zbog izostanka vrijednosti.
Poglavlje 4
Primjer u R-u
4.1
Neˇzeljena poˇsta
Podatke za ovaj primjer prikupili su Mark Hopkins, Erik Reeber, George Forman i Jaap Suermondt (Hewlett-Packard Labs, Palo Alto, Kalifornija), a dostupni su za javnost na
ftp://ftp.ics.uci.edu/pub/machine-learning-databases/spambase/. Podaci se sastoje od relativnih frekvencija 57 najˇceˇs´cih rijeˇci i interpunkcijskih znakova iz 4601 e-mail poruke i za svaku poruku je dostupna informacija o tome da li je poruka ˇzeljena ili neˇzeljena. Podaci su prikupljeni u razdoblju od lipnja do srpnja 1999. godine. Cilj je dizajnirati automatski detektor neˇzeljene poruke. Budu´ci da je vlasnik doniranih poda-taka George Forman (tel. 650-857-7835) rijeˇc ”George” i kod podruˇcja ”650” upu´cuju na ˇzeljenu poruku. Ovo je korisno kod personaliziranja filtera neˇzeljene poruke. U sluˇcaju generiranja filtera za op´cenite svrhe trebalo bi ukloniti takve indikatore ili prikupiti puno ve´cu kolekciju neˇzeljenih poruka. Neˇzeljena poˇsta ili spam najˇceˇs´ce su poruke marke-tinˇskog karaktera. Osim ˇsto nepoznati poˇsiljatelji nude svoje usluge i time zatrpavaju ko-risniˇcki pretinac za poˇstu, velik broj takvih poruka je i potencijalna opasnost. One mogu biti zaraˇzene virusom te ih je najbolje pokuˇsati detektirati i filtrirati. Kolekcija neˇzeljenih poruka u podacima ˇcini 39.4% ukupnih poruka i pristigla je od administratora poˇste kao i od pojedinaca. Preostalih 60.6% poruka su ˇzeljene poruke pristigle iz poslovnih i privatnih izvora. U podacima nema nedostaju´cih prediktivnih vrijednosti.
Tablica 4.1: Deskriptivna statistika ulaznog skupa podataka
Min Max Ar. sred. St. dev. Koef. var. (% )
word freq make 0 4.54 0.10455 0.30536 292
word freq address 0 14.28 0.21301 1.2906 606
word freq all 0 5.1 0.28066 0.50414 180
word freq 3d 0 42.81 0.065425 1.3952 2130
POGLAVLJE 4. PRIMJER U R-U 16 Tablica 4.1: Deskriptivna statistika ulaznog skupa podataka
Min Max Ar. sred. St. dev. Koef. var. (% )
word freq our 0 10 0.31222 0.67251 215
word freq over 0 5.88 0.095901 0.27382 286
word freq remove 0 7.27 0.11421 0.39144 343
word freq internet 0 11.11 0.10529 0.40107 381
word freq order 0 5.26 0.090067 0.27862 309
word freq mail 0 18.18 0.23941 0.64476 269
word freq receive 0 2.61 0.059824 0.20154 337
word freq will 0 9.67 0.5417 0.8617 159
word freq people 0 5.55 0.09393 0.30104 320
word freq report 0 10 0.058626 0.33518 572
word freq addresses 0 4.41 0.049205 0.25884 526
word freq free 0 20 0.24885 0.82579 332
word freq business 0 7.14 0.14259 0.44406 311
word freq email 0 9.09 0.18474 0.53112 287
word freq you 0 18.75 1.6621 1.7755 107
word freq credit 0 18.18 0.085577 0.50977 596
word freq your 0 11.11 0.80976 1.2008 148
word freq font 0 17.1 0.1212 1.0258 846
word freq 000 0 5.45 0.10165 0.35029 345
word freq money 0 12.5 0.094269 0.44264 470
word freq hp 0 20.83 0.5495 1.6713 304
word freq hpl 0 16.66 0.26538 0.88696 334
word freq george 0 33.33 0.7673 3.3673 439
word freq 650 0 9.09 0.12484 0.53858 431
word freq lab 0 14.28 0.098915 0.59333 600
word freq labs 0 5.88 0.10285 0.45668 444
word freq telnet 0 12.5 0.064753 0.40339 623
word freq 857 0 4.76 0.047048 0.32856 698
word freq data 0 18.18 0.097229 0.55591 572
word freq 415 0 4.76 0.047835 0.32945 689
word freq 85 0 20 0.10541 0.53226 505
word freq technology 0 7.69 0.097477 0.40262 413
word freq 1999 0 6.89 0.13695 0.42345 309
word freq parts 0 8.33 0.013201 0.22065 1670
POGLAVLJE 4. PRIMJER U R-U 17 Tablica 4.1: Deskriptivna statistika ulaznog skupa podataka
Min Max Ar. sred. St. dev. Koef. var. (% )
word freq direct 0 4.76 0.064834 0.34992 540
word freq cs 0 7.14 0.043667 0.3612 827
word freq meeting 0 14.28 0.13234 0.76682 579
word freq original 0 3.57 0.046099 0.22381 486
word freq project 0 20 0.079196 0.62198 785
word freq re 0 21.42 0.30122 1.0117 336
word freq edu 0 22.05 0.17982 0.91112 507
word freq table 0 2.17 0.0054445 0.076274 1400
word freq conference 0 10 0.031869 0.28573 897
char freq ; 0 4.385 0.038575 0.24347 631 char freq ( 0 9.752 0.13903 0.27036 194 char freq [ 0 4.081 0.016976 0.10939 644 char freq ! 0 32.478 0.26907 0.81567 303 char freq $ 0 6.003 0.075811 0.24588 324 char freq # 0 19.829 0.044238 0.42934 971
capital run length average 1 1102.5 5.1915 31.729 611
capital run length longest 1 9989 52.173 194.89 374
capital run length total 1 15841 283.29 606.35 214
spam 0 1 0.39404 0.4887 124
Za svaku poruku dostupan je njezin tip zapisan u nominalnoj varijabli ”spam” gdje 1 oznaˇcava neˇzeljenu poruku, a 0 ˇzeljenu poruku. Imamo 48 kontinuiranih varijabli ˇciji je na-ziv oblika ”word freq WORD”. Svaka biljeˇzi postotak rijeˇci u poruci koja odgovara rijeˇci upisanoj umjesto ”WORD”, tj. 100·(broj pojavljivanja rijeˇci ”WORD” u poruci)/(ukupan broj rijeˇci u poruci). Sliˇcno, imamo 6 kontinuiranih varijabli oblika ”char freq CHAR” u kojima su postoci interpunkcijskih znakova u poruci navedenih umjesto ”CHAR”, tj. 100·(broj pojavljivanja znaka ”CHAR” u poruci)/(ukupan broj znakova u poruci). I na kraju imamo 3 kontinuirane varijable u kojima su mjere vezane uz neprekinute nizove uzastop-nih velikih slova u poruci: ”capital run length average” je prosjeˇcna duljinu takvog niza, ”capital run length longest” je duljina najduljeg takvog niza i ”capital run length total” je zbroj svih duljina takvih nizova koji se pojavljuju u poruci. Sve varijable s deskriptivom podataka navedene su u tablici 4.1. U tablici 4.2 je popis rijeˇci i znakova koji pokazuju najve´cu prosjeˇcnu razliku izmedu ˇzeljene poˇste koju oznaˇcavamo kao ”e-mail” i neˇzeljene poˇste koju nazivamo ”spam”.
Primjenimo metodologiju klasifikacijskog stabla opisanu ranije s obzirom na to da imamo nadzirani problem s kategorijskim ishodom, tj. klasifikacijski problem.
Odabe-POGLAVLJE 4. PRIMJER U R-U 18
george you your hp free hpl ! our re edu remove
spam 0.00 2.26 1.38 0.02 0.52 0.01 0.51 0.51 0.13 0.01 0.28
e-mail 1.27 1.27 0.44 0.90 0.07 0.43 0.11 0.18 0.42 0.29 0.01
Tablica 4.2: Prosjeˇcni postotak rijeˇci i znakova koji pokazuju najve´cu razliku izmedu ˇzeljene poˇste (e-mail) i neˇzeljene poˇste (spam).
Slika 4.1: Klasifikacijsko stablo dobiveno koriˇstenjem unakrsne entropije kao mjere neˇcisto´ce ˇcvorova.
remo sluˇcajan uzorak od 1536 podataka kao skup podataka za treniranje, a preostali podaci ˇcine skup podataka za testiranje. Za mjeru neˇcisto´ce ˇcvora odaberemo unakrsnu entropiju kako bismo kreirali stablo. Dobiveno stablo ima 13 krajnjih ˇcvorova, a koriˇstene vari-jable su word freq dollar, word freq remove, word freq exclamation, word freq hp, ca-pital run length longest, word freq re, word freq technology, caca-pital run length average, word freq free (slika 4.1).
Sada primjenjujemo deseterostruku krosvalidaciju za generiranje niza najboljih podsta-bala. Krosvalidacijska greˇska je najmanja za stablo koje ima otprilike 8 krajnjih ˇcvorova (slika 4.2), no u nizu generiranih podstabala nema stabla s 8 krajnjih ˇcvorova stoga fi-nalno podrezano stablo ima 9 krajnjih ˇcvorova i prikazano je na slici 4.3. Koriˇstene su varijable word freq dollar, word freq remove, word freq exclamation, word freq hp, ca-pital run length longest, word freq re, word freq technology. Promotrimo korijen stabla
POGLAVLJE 4. PRIMJER U R-U 19
Slika 4.2: Krosvalidacijska greˇska spljoˇstava se na stablu s 8 krajnjih ˇcvorova
pri kojem je uvijet da je postotak znaka $ u poruci manji od 5.5%. Ako je uvijet ispunjen opservacije pripadaju lijevoj grani, ako nije ispunjen pripadaju desnoj grani. Promotrimo desnu granu i vidimo da je sljede´ci uvijet da je postotak rijeˇci hp u poruci manji od 40%. Ako je ispunjen radi se o neˇzeljenoj poruci (spam), ako nije radi se o ˇzeljenoj poruci (e-mail).
Nisu sve greˇske jednake. ˇZelimo izbje´ci filtriranje ˇzeljene poˇste dok propuˇstanje neˇzeljene poˇste kroz filter ima manje ozbiljne posljedice. Osjetljivostili TPR definiramo kao vjero-jatnost predikcije neˇzeljene poruke kad je stvarno stanje neˇzeljena poruka, to joˇs zovemo stvarni pozitivan postotak (engl.true positive rate).Specifiˇcnostili TNR je vjerojatnost da ´cemo predvidjeti da je poruka ˇzeljena kad je i stvarno stanje ˇzeljena poruka ˇsto joˇs zovemo stvarni negativan postotak (engl. true negative rate). Neka TP oznaˇcava stvarno pozitivne rezultate, TN stavarno negativne rezultate, FP laˇzno pozitivne rezultate i FN laˇzno nega-tivne rezultate. Sada su osjetljivost i specifiˇcnost dane sljede´cim formulama:
T PR= T P
T P+FN (4.1)
T NR= T N
T N+FP (4.2)
Za ovaj primjer lako je izraˇcunati osjetljivost i specifiˇcnost pomo´cu podataka iz matrice konfuzije 4.3 gdje su dane vrijednosti od TP, TN, FP i FN. Dakle, u testnim podacima su 1782 ˇzeljene poruke (e-mail) i klasificirane kao ˇzeljene poruke, a 360 takvih poruka je krivo klasificirano kao neˇzeljene poruke (spam). 844 neˇzeljenih poruka je klasificirano toˇcno kao
POGLAVLJE 4. PRIMJER U R-U 20
Slika 4.3: Podrezano klasifikacijsko stablo.
neˇzeljene, a 79 pogreˇsno kao ˇzeljene poruke. Stoga uvrˇstavanjem u formulu 4.1 dobijemo da je osjetljivost 0.93, a uvrˇstavanjem u formulu 4.2 dobijemo da je specifiˇcnost 0.83. Za procjenu kompromisa izmedu osjetljivosti i specifiˇcnosti koristimo ROC krivulju (engl. receiver operating characteristic curve). To je graf osjetljivosti naspram specifiˇcnosti kako variramo parametre klasifikacijskog pravila. Neka je Lkk0 gubitak vezan za predvidanje objekta razredakkao da su u razredu k0. Variranjem relativnih veliˇcina gubitakaL
01 iL10
pove´cavamo osjetljivost i smanjujemo specifiˇcnost ili obratno. U ovom primjeru ˇzelimo izbje´ci oznaˇcavanje ˇzeljene poruke neˇzeljenom, stoga ˇzelimo da specifiˇcnost bude vrlo visoka. To moˇzemo posti´ci uzimanjemL01 > 1 s recimoL10 = 1. Variranjem gubitkaL01
izmedu 0.1 i 10 i primjenom na podrezano stablo (slika 4.3) proizveli smo ROC krivulju prikazanu na slici 4.4. Kako bismo postigli specifiˇcnost blizu 100% osjetljivost mora pasti na otprilike 50%. Nejednaki gubitci ukljuˇceni su u proces kreiranja stabla. Odabrano je L01 =5 i L10= 1 ˇcime se postiˇze ve´ca specifiˇcnost.
Stvarno stanje
Predvidanje e-mail spam
e-mail TN=1782 FN=360
spam FP=79 TP=844
POGLAVLJE 4. PRIMJER U R-U 21
Slika 4.4: ROC krivulja
4.2
Prilog: kod u R-u
l i b r a r y ( t r e e )l i b r a r y ( ISLR ) l i b r a r y (ROCR)
# U c i t a v a n j e p o d a t a k a :
s p a m d a t a = r e a d . t a b l e ( ”D :/D i p l o m s k i r a d /s p a m d a t a . t x t ” , h e a d e r = TRUE , row . names=NULL)
names ( s p a m d a t a ) = c ( ” make ” , ” a d d r e s s ” , ” a l l ” , ”3 d ” , ” o u r ” , ” o v e r ” , ” remove ” , ” i n t e r n e t ” , ” o r d e r ” , ” m a i l ” , ” r e c e i v e ” , ” w i l l ” , ” p e o p l e ” , ” r e p o r t ” , ” a d d r e s s e s ” , ” f r e e ” , ” b u s i n e s s ” , ” e m a i l ” , ” you ” , ” c r e d i t ” , ” y o u r ” , ” f o n t ” , ” 0 0 0 ” , ” money ” , ” hp ” , ” h p l ” , ” g e o r g e ” , ” 6 5 0 ” , ” l a b ” , ” l a b s ” , ” t e l n e t ” , ” 8 5 7 ” , ” d a t a ” , ” 4 1 5 ” , ” 8 5 ” , ” t e c h n o l o g y ” , ” 1 9 9 9 ” , ” p a r t s ” , ”pm ” , ” d i r e c t ” , ” c s ” , ” m e e t i n g ” , ” o r i g i n a l ” , ” p r o j e c t ” , ” r e ” , ” edu ” , ” t a b l e ” , ” c o n f e r e n c e ” , ” s e m i c o l o n ” , ” b r a c k e t s r o u n d ” , ” b r a c k e t s ” , ” e x c l a m a t i o n ” , ” d o l l a r ” , ” h a s h ” , ” c a p i t a l a v e r a g e ” , ” c a p i t a l l o n g e s t ” , ” c a p i t a l t o t a l ” , ” spam ” )
POGLAVLJE 4. PRIMJER U R-U 22 spam = s p a m d a t a [ , 5 8 ] r a z r e d=i f e l s e ( spam>0 , ” spam ” , ” e−m a i l ” ) s p a m d a t a=d a t a . f r a m e ( s p a m d a t a , r a z r e d ) # K r e i r a n j e s t a b l a : s e t . s e e d ( 2 ) t r a i n=s a m p l e ( 1 : nrow ( s p a m d a t a ) , 1 5 3 6 ) s p a m d a t a . t e s t=s p a m d a t a [−t r a i n , ] r a z r e d . t e s t=r a z r e d [−t r a i n ] t r e e . spam=t r e e ( r a z r e d ˜ .−spam , s p a m d a t a , s u b s e t=t r a i n , s p l i t=” d e v i a n c e ” ) summary ( t r e e . spam ) p l o t ( t r e e . spam ) # , t y p e=” u n i f o r m ” t e x t ( t r e e . spam , p r e t t y=0) t r e e . p r e d=p r e d i c t ( t r e e . spam , s p a m d a t a . t e s t , t y p e=” c l a s s ” ) t a b l e ( t r e e . p r e d , r a z r e d . t e s t ) ( 1 7 3 6+1 0 2 0 )/3 0 6 5 #=0 . 8 9 9 1 8 4 3 # K r o s v a l i d a c i j a : s e t . s e e d ( 3 )
cv . spam=cv . t r e e ( t r e e . spam , FUN=p r u n e . m i s c l a s s , K=10) names ( cv . spam ) cv . spam p l o t ( cv . s p a m $ s i z e , cv . spam$dev , t y p e=” b ” , x l a b=’ V e l i c i n a s t a b l a ’ , y l a b=’ K r o s v a l i d a c i j s k a g r e s k a ’ ) p l o t ( cv . spam$k , cv . spam$dev , t y p e=” b ” ) # P o d r e z i v a n j e s t a b l a : p r u n e . spam=p r u n e . m i s c l a s s ( t r e e . spam , b e s t=8 , l o s s=m a t r i x ( c ( 0 , 1 , 5 , 0 ) , nrow=2 , n c o l=2 ) ) summary ( p r u n e . spam ) p l o t ( p r u n e . spam ) t e x t ( p r u n e . spam , p r e t t y=0) t r e e . p r e d=p r e d i c t ( p r u n e . spam , s p a m d a t a . t e s t , t y p e=” c l a s s ” ) t a b l e ( t r e e . p r e d , r a z r e d . t e s t ) ( 1 7 8 2+8 4 4 )/3 0 6 5 #=0 . 8 5 6 7 7 c l a s s ( t r e e . p r e d 5 ) s t r ( t r e e . p r e d 5 )
POGLAVLJE 4. PRIMJER U R-U 23 c l a s s ( r a z r e d . t e s t ) s t r ( r a z r e d . t e s t ) r a z r e d . t e s t=f a c t o r ( r a z r e d . t e s t ) t r e e . p r e d=c ( t r e e . p r e d ) r a z r e d . t e s t=c ( r a z r e d . t e s t ) # ROC k r i v u l j a : p r e d i c t i o n s=t r e e . p r e d l a b e l s=r a z r e d . t e s t p r e d=p r e d i c t i o n ( p r e d i c t i o n s , l a b e l s ) p e r f=p e r f o r m a n c e ( p r e d , m e a s u r e = ” t p r ” , x . m e a s u r e = ” t n r ” ) p l o t ( p e r f , c o l=r a i n b o w ( 1 0 ) , x l a b=’ S p e c i f i c n o s t ’ , y l a b=’ O s j e t l j i v o s t ’ )
Bibliografija
[1] A.J. Feelders,Lecture Notes on Classification Trees, 2016.,http://www.cs.uu.nl/ docs/vakken/mdm/trees.pdf.
[2] T. Hastie, R. Tibshirani i J. Friedman,The Elements of Statistical Learning, Springer,
2013.,http://statweb.stanford.edu/˜tibs/ElemStatLearn/.
[3] G. James, D. Witten, T. Hastie i R. Tibshirani,Introduction to Statistical Learning with Applications in R, Springer, 2012.,http://www-bcf.usc.edu/˜gareth/ISL/.
Saˇzetak
Metoda klasifikacijskih stabla temelji se na binarnom stablu. Ako je uvijet pri odredenom ˇcvoru zadovoljen, podaci pripadaju lijevoj grani, ako nije pripadaju desnoj grani. Kriteriji prema kojima se postavljaju uvijeti pri ˇcvorovima su mjere neˇcisto´ce ˇcvora: klasifikacijska greˇska, Gini indeks i unakrsna entropija. Od svih mogu´cih cijepanja, odabire se ono koje postiˇze najve´cu redukciju neˇcisto´ce ˇcvora, odnosno ono koje ima najbolju kvalitetu cijepa-nja. Podrezivanje stabla provodi se nakon kreiranja inicijalnog stabla kako bi se izbjegla pretjerana prilagodenost podacima. Od svih mogu´cih podstabala, odaberemo niz podsta-bala koriste´ci cijenu sloˇzenosti, a krosvalidacijom procjenimo greˇsku pojedinog podstabla te odaberemo ono s najniˇzom ukupnom greˇskom.
Summary
The method of classification trees is based on binary tree. If the condition at a particular node is met, the data belong to the left branch, if condition isn’t met, data belong to the right branch. The criteria for the conditions at the nodes are node impurity measures: classification error, Gini index and cross entropy. Of all the possible splittings, we choose the one that achieves the greatest reduction in node impurity, or one that has the best quality of splitting. Pruning the tree is carried out after the initial growing of the tree in order to avoid overfitting of the data. Of all the possible subtrees, we choose a run of subtrees using the cost-complexity criterion and cross-validation error estimation of each subtree and choose the one with the lowest total error.
ˇ
Zivotopis
Anja Damiˇs
Osobne informacije:
Tome Masaryka 11, 40000 ˇCakovec 091 140 0033
Obrazovanje:
2012.-2016. Diplomski sveuˇciliˇsni studij Matematiˇcka statistika
PMF - Matematiˇcki odsjek, Zagreb
2008.-2012. Preddiplomski sveuˇciliˇsni studij matematika; smjer: nastavniˇcki
PMF - Matematiˇcki odsjek, Zagreb
2004.-2008. Gimnazija Josipa Slavenskog ˇCakovec
Teˇcajevi:
Uvod u SQL
ECDL AM5: Baze podataka - napredna razina (Access 2010) SAS osnove i programski jezik
SAS grafika
Sveuˇciliˇsni raˇcunarski centar Srce, Zagreb Radno iskustvo:
Rad na algoritmu ocjenjivanja kvalitete voˇznje (u R-u)
Poduze´ce Ekobit, Zagreb
Poduke iz matematike
Centar za poduke Vitruvije, ˇCakovec
Uredivanje i vodenje ˇstanda s vo´cem (sezonski)