Rozhodovací stromy Úloha klasifikace objektů do tříd. Top dow iductio of decisio trees (TDIDT) - metoda divide ad coquer (rozděl a pauj) metoda specializace v prostoru hypotéz stromů (postup shora dolů, počíaje prázdým stromem). Cílem je alézt ějaký strom kosistetí s tréovacími daty. Přitom se dává předost meším stromům (Occamova břitva). TDIDT algoritmus 1. vezmi jede atribut jako koře dílčího stromu, 2. rozděl data a podmožiy podle hodot tohoto atributu, 3. epatří-li všecha data v podmožiě do téže třídy, pro tuto podmožiu opakuj postup od bodu 1. Obecý algoritmus pro tvorbu rozhodovacích stromů Omezeí obecého algoritmu: je kategoriálí atributy je data bez šumu P. Berka, 2011 1/18
Etropie Volba atributu (krok 1 algoritmu) c H = - (p i * log 2 p i ), i=1 etropie Y 1 Y 2. Y S X 1 a 11 a 12. a 1S r 1 X 2 a 21 a 22. a 2S r 2 : : : : : : : : : : X R a R1 a R2. a RS r R s 1 s 2. s S H( A) i R r i S 1 j 1 a r ij i log 2 a r ij i Hledáme atribut s miimálí hodotou kritéria P. Berka, 2011 2/18
příklad: kliet příjem koto pohlaví ezaměstaý úvěr k1 vysoký vysoké žea e ao k2 vysoký vysoké muž e ao k3 ízký ízké muž e e k4 ízký vysoké žea ao ao k5 ízký vysoké muž ao ao k6 ízký ízké žea ao e k7 vysoký ízké muž e ao k8 vysoký ízké žea ao ao k9 ízký středí muž ao e k10 vysoký středí žea e ao k11 ízký středí žea ao e k12 ízký středí muž e ao H(příjem) = (příjem(vysoký)) H(příjem(vysoký)) + (příjem(ízký)) H(příjem(ízký)) P. Berka, 2011 3/18
H(příjem) = 5 12 H(příjem(vysoký)) + 7 12 H(příjem(ízký)) H(příjem(vysoký)) = - 5 5 log 2 5 5-0 5 log 2 0 5 = 0 + 0 = 0 H(příjem(ízký)) = - 3 7 log 3 2 7-4 7 log 4 27 = 0.9852 H(příjem) = 0.5747 H(koto) = 4/12*H(koto(vysoké)) + 4/12*H(koto(středí)) + 4/12*H(koto(ízké)) = 1/3 * 0 + 1/3 * 1 + 1/3 * 1 = 0.6667 H(pohlaví) = 6/12*H(pohlaví(muž)) + 6/12*H(pohlaví(žea)) = 1/2 * 0.9183 + 1/2 * 0.9183 = 0.9183 H(ezaměstaý) = 6/12*H(ezaměstaý(ao)) + 6/12*H(ezaměstaý(e)) = 1/2 * 1 + 1/2 * 0.6500 = 0.8250 P. Berka, 2011 4/18
H(koto) = 2/7 H(koto(vysoké)) + 3/7 H(koto(středí)) + 2/7 H(koto(ízké)) = 2/7 0 + 3/7 0.9183 + 2/7 0 = 0.3935 H(pohlaví) = 4/7 H(pohlaví(muž)) + 3/7 H(pohlaví(žea)) = 4/7 1 + 3/7 0.9183 = 0.9650 H(ezaměstaý) = 5/7 H(ezaměstaý(ao)) + 2/7 H(ezaměstaý(e)) = 5/7 0.9709 + 2/7 1 = 0.9792 H(pohlaví) = 2/3 H(pohlaví(muž)) + 1/3 H(pohlaví(žea)) = 2/3 1 + 1/3 0 = 0.6667 H(ezaměstaý) = 2/3 H(ezaměstaý(ao)) + 1/3 H(ezaměstaý(e)) = 2/3 0 + 1/3 0 = 0 Poz: V případě kategoriálích atributů se každý atribut může pro větveí stromu vybrat ejvýše jedou. P. Berka, 2011 5/18
Tedy, tvorba rozhodovacích stromů je založea a prohledáváí prostoru stromů: Shora dolů Heuristické Jedoduché P. Berka, 2011 6/18
Gii idex Gii = 1 - c i=1 (p i 2 ) Gii( A) i R r i 1 S 1 j 1 Hledáme atribut s miimálí hodotou kritéria a r ij i 2 Chí kvadrát 2 ( A) R S i 1 j 1 Hledáme atribut s maximálí hodotou kritéria a ij r i r i s j s j 2 Iformačí zisk Zisk(D,A) = H(D) - H(A) Hledáme atribut s maximálí hodotou kritéria Zisk(D,A) Poměrý iformačí zisk(d,a) = Větveí(D,A) P. Berka, 2011 7/18
Převod stromů a pravidla If příjem(vysoký) the úvěr(ao) If příjem(ízký) koto(vysoké) the úvěr(ao) If příjem(ízký) koto(středí) ezaměstaý(ao) the úvěr(e) If příjem(ízký) koto(středí) ezaměstaý(e) the úvěr(ao) If příjem(ízký) koto(ízké) the úvěr(e) P. Berka, 2011 8/18
Důvody: Prořezáváí stromů Bezchybá klasifikace tréovacích dat ezaručuje kvalití klasifikaci dat testovacích (overfittig) Úplý strom může být příliš veliký Redukce stromu, aby v listovém uzlu převažovaly příklady jedé třídy. pre-pruig modifikuje se zastavovací kritérium (krok 3 algoritmu) = větvit se ebude pokud počet příkladů v uzlu klese pod daou hodotu ebo pokud relativí počet příkladů jedé třídy překročí daou hodotu post-pruig vytvoří se úplý strom, který se ásledě redukuje Algoritmus post-pruig 1. Převeď strom a pravidla, 2. Geeralizuj pravidlo odstraěím podmíky z předpokladu, pokud dojde ke zlepšeí odhadovaé přesosti, 3. Uspořádej prořezaá pravidla podle odhadovaé přesosti; v tomto pořadí budou pravidla použita pro klasifikaci P. Berka, 2011 9/18
Práce s umerickými atributy Algoritmus pracuje s kategoriálími atributy, umerické je třeba diskretizovat: 1. off-lie v rámci přípravy a předzpracováí dat 2. o-lie v rámci běhu modifikovaého algoritmu biarizace a základě etropie Algoritmus 1. Seřaď vzestupě hodoty diskretizovaého atributu A, 2. Pro každou možou hodotu dělícího bodu spočítej etropii H(A ) 3. Vyber dělící bod, který dá ejmeší hodotu H(A ) H(A ) = (A(< )) H(A(< )) + (A(> )) H(A(> )) P. Berka, 2011 10/18
Příklad: Kliet příjem Koto úvěr K101 3000 15000 e K102 10000 15000 e K103 17000 15000 ao K104 5000 30000 e K105 15000 30000 ao K106 20000 50000 ao K107 2000 60000 e K108 5000 90000 ao K109 10000 90000 ao K110 20000 90000 ao K111 10000 100000 ao K112 17000 100000 ao H(koto 22500 ) = 3/12 H(koto(<22500)) + 9/12 H(koto(>22500)) = 1/4 0.9183 + 3/4 0.5640 = 0.6526 H(koto 40000 ) = 5/12 H(koto(<40000)) + 7/12 H(koto(>40000)) = 5/12 0.9706 + 7/12 0.5917 = 0.7497 H(koto 55000 ) = 6/12 H(koto(<55000)) + 6/12 H(koto(>55000)) = 1/2 1 + 1/2 0.6500 = 0.8250 H(koto 75000 ) = 7/12 H(koto(<75000)) + 5/12 H(koto(>75000)) = 7/12 0.9852 + 5/2 0 = 0.5747 P. Berka, 2011 11/18
a rozdíl od kategoriálích atributů se mohou v jedé větvi umerické atributy opakovat 0.6 1.5 1.7 petalwidth P. Berka, 2011 12/18
Regresí stromy Úloha odhadu hodoty ějakého umerického atributu. Volba atributu (krok 1): kritérium redukce směrodaté odchylky kde v Val(A) (A(v)) S(A(v)) S(A(v)) = ( (y i - y') 2 ) / (-1) a y' = 1 i=1 i=1 y i P. Berka, 2011 13/18
Implemetovaé algoritmy ID3 (Quila, 1986): základí algoritmus, etropie C4.5 (Quila, 1993): iformačí zisk, postpruig, o-lie diskretizace P. Berka, 2011 14/18
CART (Breima a kol., 1984): Gii idex, je biárí stromy (atributy se mohou opakovat) P. Berka, 2011 15/18
CHAID (Biggs a kol., 1991): Chi kvadrát, seskupováí hodot kategoriálích atributů 1R, Decisio stump (Holte, 1993): strom obsahuje pouze kořeové větveí Radom Tree (Breima, 2001): pro každý větvící uzel se áhodě vybere možia atributů ze kterých se pak dle Gii idexu vybere te ejlepší Radom Forest (Breima, 2001): soubor áhodých stromů, áhodě se pro každý strom vybere podmožia tréovacích dat (kombiováí modelů viz téma vyhodoceí výsledků) P. Berka, 2011 16/18
ETree (Berka, 2010): Chi kvadrát, je kategoriálí atributy, pre-pruig, volba k ejlepších atributů pro každý větvící uzel - výsledkem je více stromů, pro klasifikaci lze vybrat je jede ebo všechy - implemetováo v systémech LISp-Mier a Ferda Implemetace v systému Ferda P. Berka, 2011 17/18
Použití rozhodovacích stromů příklady jsou reprezetováy hodotami atributů, úkolem je klasifikovat příklady do koečého (malého) počtu tříd, hledaý popis koceptů může být tvoře disjukcemi, tréovací data mohou být zatížea šumem, tréovací data mohou obsahovat chybějící hodoty. Rozhodovací stromy dělí prostor atributů a (moharozměré) hraoly rovoběžé s osami souřadé soustavy: P. Berka, 2011 18/18