• Tidak ada hasil yang ditemukan

Klasifikacijska stabla

N/A
N/A
Protected

Academic year: 2021

Membagikan "Klasifikacijska stabla"

Copied!
30
0
0

Teks penuh

(1)

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

(2)

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.

(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

(4)

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,

(5)

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.

(6)

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

(7)

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.

(8)

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.

(9)

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

(10)

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.

(11)

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.

(12)

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

(13)

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:

(14)

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(1Rts)

ntest

, (2.13)

(15)

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

(16)

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ˆmkmk0. To bi bio oˇcekivani gubitak nastao randomiziranim pravilom. Ovo funkcionira za sluˇcaj u kojem imamo viˇse od 2 razreda, no

(17)

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.

(18)

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

(19)

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

(20)

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.

(21)

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

(22)

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

(23)

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

(24)

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 ” )

(25)

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 )

(26)

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 ’ )

(27)

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/.

(28)

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.

(29)

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.

(30)

ˇ

Zivotopis

Anja Damiˇs

Osobne informacije:

Tome Masaryka 11, 40000 ˇCakovec 091 140 0033

[email protected]

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)

Gambar

Tablica 4.1: Deskriptivna statistika ulaznog skupa podataka
Tablica 4.1: Deskriptivna statistika ulaznog skupa podataka
Tablica 4.1: Deskriptivna statistika ulaznog skupa podataka
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).

Referensi

Dokumen terkait

Tujuannya adalah untuk mengajarkan materi proyeksi Vektor dengan cara yang mudah dan menyenangkan, PD dapat dengan mudah menentukan nilai sin α, cos α, dan tan α

Selain itu juga dapat diketahui bahwa batas kecepatan maksimum tidak mengalami guling pada roda depan lebih kecil daripada roda belakang itu artinya kendaraan ini cenderung

[r]

Kota Bukittinggi sebagai salah satu kota besar di Sumatera Barat dengan jumlah penduduk sebesar 120.491 jiwa yang terdiri dari 58.408 laki-laki dan 62.083 perempuan

Untuk seluruh populasi betina diketahui ada 10 karakter morfometrik yang memperlihatkan diferensiasi secara signifikan antara wilayah barat dan wilayah timur

Untuk Memenuhi Tugas Dan Syarat-Syarat Guna Memperoleh Gelar Sarjana Ekonomi (S.E) pada Program Studi Pembangunan Fakultas Ekonomi dan Bisnis, dan Sarjana Hukum Syariah (S.H)

Dari uji statistik menggunakan uji korelasi lambda diperoleh nilai r=0,200 yang menunjukkan korelasi sangat lemah dan nilai p=0,559 (p&gt;0,05), sehingga menolak hipotesis

Pengguna yang terlibat dalam sistem adalah admin dan user (staf). Admin dan user harus login terlebih dahulu untuk menggunakan aplikasi ini. Setelah login, admin bisa melihat