Drveta odlucivanja- algoritmiID3
C4.5
CART
Graficko predstavljanje
CHAID
QUEST
SLIQ
SPRINT
4.2
UvodAlgoritmi
• ID3 (Iterative Dichotomiser 3)
• C4.5• C5.0• CART (Classification And Regression Trees)
• CHAID (CHi-squared Automatic InteractionDetection)
• Exhaustive CHAID• QUEST (Quick, Unbiased, Efficient Statistical
Trees)
• SLIQ (Supervised Learning In Quest)
• SPRINT (Scalable PaRallelizable INduction anddecision Trees)
• ...
Drveta odlucivanja- algoritmiID3
C4.5
CART
Graficko predstavljanje
CHAID
QUEST
SLIQ
SPRINT
4.3
ID3
• Definisao ga je Quinlan 1986. godine (ID3 -Iterative Dichotomiser 3)
• Entropiju kao meru i informaciona dobit kaokriterijum podele
• Kriterijum zaustavljanja• Svi podaci u cvoru pripadaju istoj klasi• najveca informaciona dobit ≤ 0
• Ne vrši se potkresivanje drveta• Ne radi sa numerickim atributima i/ili
nedostajucim vrednostima• Razmatra samo jedan atribut pri odlucivanju• Formira binarno drvo
Drveta odlucivanja- algoritmiID3
C4.5
CART
Graficko predstavljanje
CHAID
QUEST
SLIQ
SPRINT
4.4
C4.5
• Quinlan 1993. godine, proširenje ID3• Skup algoritama (C4.5, C4.5 bez potkresivanja,
C4.5-pravila)• Koristi entropiju kao meru i odnos informacione
dobiti kao kriterijum podele• n-arno drvo (kategoricki atributi)• Kriterijum zaustavljanja
• broj razlicitih instanci je ispod zadate granice• svi podaci u cvoru pripadaju istoj klasi
Drveta odlucivanja- algoritmiID3
C4.5
CART
Graficko predstavljanje
CHAID
QUEST
SLIQ
SPRINT
4.5
C4.5 (nastavak)
• Koristi numericke atribute (diskretizacija,sortiranje radi najbolje podele)
• Za klasu u listu bira se najbrojnija klasa (metodaglasanja)
• Vrši se naknadno potkresivanje drveta• smanjenje nivoa greške (koristi se posebna test
datoteka)• pesimisticka procena greške (ukljuceni su svi
podaci)• intervali poverenja (Bernulijeva slucajna
promenljiva)
Drveta odlucivanja- algoritmiID3
C4.5
CART
Graficko predstavljanje
CHAID
QUEST
SLIQ
SPRINT
4.6
C4.5 nedostajuce vrednosti
Nedostajuce vrednosti
• Izbor atributa za deobu u cvoru koji sadrži NV?• iskljuciti instancu• zameniti najcešcu vrednost umesto NV• informaciona dobit× % poznatih vrednosti• popuniti vrednost ("razlicita" vrednost,
predvidanje na osnovu ostalih atributa)
Drveta odlucivanja- algoritmiID3
C4.5
CART
Graficko predstavljanje
CHAID
QUEST
SLIQ
SPRINT
4.7
C4.5 nedostajuce vrednosti
Atribut za podelu sadrži NV - gde se smeštainstanca u podeli?
• iskljuciti instancu• instanca ima najcešcu vrednost atributa• pridružiti instancu svakoj grani procentualno
prema broju poznatih vrednosti atributa ugranama
• pridružiti je svakoj grani• napraviti posebnu granu sa instancama sa NV• odrediti najslicniju vrednost i dodeliti je
odgovarajucoj grani• dodeliti instancu samo jednoj grani u %
poznatih vrednosti atr. koje su u toj grani
Drveta odlucivanja- algoritmiID3
C4.5
CART
Graficko predstavljanje
CHAID
QUEST
SLIQ
SPRINT
4.8
C4.5 nedostajuce vrednosti
Kako se klasifikuje nova instanca sa NV atributa?
Smešta se u• posebnu grana za NV, ako postoji• granu sa najcešcom vrednošcu atributa• granu sa predvidenom najslicnijom vrednošcu• distribuira u grane prema relativnoj verovatnoci
dobijenoj kombinovanjem rezultata simultanogpretraživanja za sve moguce ishode testiranja.Konacna klasa - klasa sa najvecomverovatnocom u ukupnoj distribuciji u drvetu
Drveta odlucivanja- algoritmiID3
C4.5
CART
Graficko predstavljanje
CHAID
QUEST
SLIQ
SPRINT
4.9
C4.5 naslednici
Naslednici• J4.8 (Java) – izvorni kod npr. u Weki• C 5.0 (komercijalna verzija, na Windows-u se
koristi i ime See 5)• Manji skup pravila sa istom preciznošcu• Poboljšanje zasnovano na dodatnom
podsticanju (boosting) – kombinovanje razlicitihklasifikatora radi povecanja preciznosti
• Smanjeno korišcenje memorije za 90% (?)• Radi izmedu 5.7 i 240 (?) puta brže od C4.5• Niži nivo greške od C4.5 i manje drvo
odlucivanja• Radi sa težinama atributa
Drveta odlucivanja- algoritmiID3
C4.5
CART
Graficko predstavljanje
CHAID
QUEST
SLIQ
SPRINT
4.10
C4.5 Algoritam
/* Skup vrednosti D; el - min. br. podataka u cvoru */
C4.5(D, el)beginTrazeno drvo T={}if svi elementi D pripadaju istoj klasi
ili ih ima manje od elthen zavrsi algoritam
Za svaki atribut x iz Dizracunati informacionu dobit u slucaju podele po x
Formirati cvor Y u kome se za podelu koristi atribut xkoji ima najvecu informacionu dobit
Bira se podskup Dy = f(x)Za svaki skup Dy
{Odredi Ty=C4.5(Dy)Dodaj Ty kao granu T u cvoru Y}
Vrati Tend
Drveta odlucivanja- algoritmiID3
C4.5
CART
Graficko predstavljanje
CHAID
QUEST
SLIQ
SPRINT
4.11
CART
• CART - Classification And Regression Trees• Breiman, Friedman, Olshen, Stone 1984• Teorijski zasnovan, sveobuhvatan• Klasifikacioni problem – predvida se vrednost
atributa (klase) koji je kategoricki na osnovuneprekidnih i/ili kategorickih atributa
• Regresioni problem – predvida se vrednostatributa (klase) koji je neprekidan na osnovuneprekidnih i/ili kategorickih atributa
Drveta odlucivanja- algoritmiID3
C4.5
CART
Graficko predstavljanje
CHAID
QUEST
SLIQ
SPRINT
4.12
CART (nastavak)
Razlicite metode za proveru rezultata• klasifikacija: Gini, "twoing", uredeni "twoing"• "twoing"
• nije vezan za meru necistoce cvora• koristi se za kategoricke atribute• poredi distribuciju u dete-cvorovima - deli skup
na dva ≈ jednaka dela• uredeni "twoing" - grupiše zajedno instance sa
susednim klasama rednih ciljnih atributa
• kasnije dodate entropija, χ2, simetricni gini,...
Drveta odlucivanja- algoritmiID3
C4.5
CART
Graficko predstavljanje
CHAID
QUEST
SLIQ
SPRINT
4.13
CART (nastavak)
• Binarna podela• Instanca se prosleduje levo ako je ispunjen
uslov, i desno u suprotnom
• Prethodne verovatnoce i nebalansirane klase• automatski uklanja disbalans klasa• mehanizam prethodnika -verovatnoca svake
ciljne kategorije u materijalu za trening• koriste se kao težine, bez uticaja na krajnju
distribuciju klasa• Nedostajuce vrednost - surogati
• atribut koji najbolje podražava (npr. ista klasa)atribut po kome se deli
Drveta odlucivanja- algoritmiID3
C4.5
CART
Graficko predstavljanje
CHAID
QUEST
SLIQ
SPRINT
4.14
CART Potkresivanje drveta
• U orignalnoj verziji konstruiše se kompletnodrvo a tek iza toga se ide na potkresivanje
• Formira se više mogucih drveta sa pokresanimgranama/poddrvetom za svaka dva lista kojaimaju zajednickog pretka
• Potkresivanje rezanjem troškova (eng. costcomplexity pruning) znatno smanjuje broj drvetakoji se razmatraju
• Optimalno drvo je potkresano drvo sanajmanjom cenom za testne podatke
• Tekuce verzije rade pre-potkresivanje
Drveta odlucivanja- algoritmiID3
C4.5
CART
Graficko predstavljanje
CHAID
QUEST
SLIQ
SPRINT
4.15
CART - neke karakteristike
• Odredivanje važnosti atributa• Koristi se zbir unapredenja (dobiti) svih cvorova
u kojima se atribut koristi za deobu pomnožensa procentom trening podataka u cvoru
• Surogati ulaze u razmatranje
• Matrica cene• Težine
Drveta odlucivanja- algoritmiID3
C4.5
CART
Graficko predstavljanje
CHAID
QUEST
SLIQ
SPRINT
4.16
ROC kriva
Drveta odlucivanja- algoritmiID3
C4.5
CART
Graficko predstavljanje
CHAID
QUEST
SLIQ
SPRINT
4.17
Kriva informacione dobiti
Drveta odlucivanja- algoritmiID3
C4.5
CART
Graficko predstavljanje
CHAID
QUEST
SLIQ
SPRINT
4.18
CHAID
• CHAID (Chi-Squared Automatic InteractionDetector) - Kass 1980. godine
• Atribut klase - samo kategoricki• Ostali atributi imenski, redni, kategoricki,
neprekidni (neprekidni se transformišu u redne)• Tri koraka (uparivanje, podela, zaustavljanje)• Drvo klasifikacije se formira uzastopnom
primenom ovih pravila na svaki cvor, pocev odkorenog
Drveta odlucivanja- algoritmiID3
C4.5
CART
Graficko predstavljanje
CHAID
QUEST
SLIQ
SPRINT
4.19
CHAID (nastavak)
• Za svaki atribut a odreduje se par vrednosti Va
sa najmanjom znacajnošcu razlike (tj. najslicniji)• Racuna se p vrednost u odnosu na atribut
klase. Za podelu se bira atribut sa najmanjom pvrednošcu statistickog testa - cvor sadržihomogene vrednosti
• Proverava se da li je p vrednost veca od praga• Ako jeste, par se uparuje u jednu složenu
kategoriju i traži se sledeci par vrednosti• Proces se završava kada nema znacajnih
parova
Drveta odlucivanja- algoritmiID3
C4.5
CART
Graficko predstavljanje
CHAID
QUEST
SLIQ
SPRINT
4.20
CHAID (nastavak)
• Statisticki test = f(tipa atributa klase)• neprekidan - F mera• nominalan - χ2 test• redni – test odnosa verovatnoca
• Kriterijum zaustavljanja• pre-potkresivanje• ne postoji ≤ zadatog praga• dostignuta najveca (zadata) dubina drveta• dostignut najmanji broj elemenata u cvoru
• n-arno drvo
Drveta odlucivanja- algoritmiID3
C4.5
CART
Graficko predstavljanje
CHAID
QUEST
SLIQ
SPRINT
4.21
CHAID (nastavak)
Rad sa nedostajucim vrednostima• Ako se podela vršu na osnovu atributa koji
sadrži NV instanca se ne koristi• Ako svi atributi imaju NV instanca se ignoriše• NV se tretira kao posebna kategorija
Iscrpan CHAID algoritam (Exhaustive CHAID)• Modifikacija CHAID - proverava sve moguce
podele ukrštanjem atributa• Zahteva više vremena od CHAID
Drveta odlucivanja- algoritmiID3
C4.5
CART
Graficko predstavljanje
CHAID
QUEST
SLIQ
SPRINT
4.22
QUEST
• QUEST - Quick, Unbiased, Efficient StatisticalTrees
• Podržava univarijantne i linearne kombinacijepodela vrednosti u cvoru
• Veza izmedu atributa klase i atributa pri podeli• ANOVA F–test ili Levene-ov test za redne i
neprekidne atribute• χ2 test za kategoricke atribute
• Post-potkresivanje drveta• Atribut klase - samo kategoricki• Ostali atributi imenski, redni, kategoricki,
neprekidni• Binarna podela
Drveta odlucivanja- algoritmiID3
C4.5
CART
Graficko predstavljanje
CHAID
QUEST
SLIQ
SPRINT
4.23
SLIQ
• SLIQ - Supervised Learning In Quest• Varijanta QUEST-a razvijena u IBM-u za
klasifikaciju velikih trening podataka• Efikasno radi sa podacima koji ne mogu da
stanu u memoriju racunara• Nije zasnovan na principu Hantovog algoritma• Koristi se tehnika rasta drveta prvo u širinu• Tehnika presortiranja u fazi rasta drveta• Koristi vertikalni format podataka - na pocetku
se svi podaci sortiraju i smeste u listu
Drveta odlucivanja- algoritmiID3
C4.5
CART
Graficko predstavljanje
CHAID
QUEST
SLIQ
SPRINT
4.24
SLIQ (nastavak)
• Podela na osnovu gini indeksa• Koristi listu klasa - strukturu rezidentnu u
memoriji koja cuva oznake klasa svake instance• Velicina liste klasa je direktno proporcionalna
broju broju ulaznih slogova• Kategoricki i numericki atributi• Potkresivanje - tehnika zasnovana na MDL• Implementacija za serijsko i paralelno
izvršavanje
Drveta odlucivanja- algoritmiID3
C4.5
CART
Graficko predstavljanje
CHAID
QUEST
SLIQ
SPRINT
4.25
SPRINT
• SPRINT (Scalable PaRallelizable INduction ofdecision Trees)
• SPRINT je modifikacija SLIQ algoritma kojauklanja memorijska ogranicenja
• Oznake klasa pridružuje identifikatorimainstanci
• Kategoricki i numericki atributi• Implementacija za serijsko i paralelno
izvršavanje