esk vysok uen technick v Praze Fakulta informanch

  • Slides: 33
Download presentation
České vysoké učení technické v Praze Fakulta informačních technologií Katedra teoretické informatiky MI-ADM –

České vysoké učení technické v Praze Fakulta informačních technologií Katedra teoretické informatiky MI-ADM – Algoritmy data miningu (2010/2011) Přednáška 4: Rozhodovací stromy a jejich regresní varianty Pavel Kordík, FIT, Czech Technical University in Prague 1

Příklad rozhodovacího stromu al al ric o g te ca o ca g te

Příklad rozhodovacího stromu al al ric o g te ca o ca g te s ric in t on c u uo ss a l c Attributy Refund Yes No NO Mar. St Single, Divorced Tax. Inc < 80 K NO Trénovací data Married NO > 80 K YES Model: rozhodovací strom

Použití modelu Testovací Data Refund Yes No NO Mar. St Single, Divorced Tax. Inc

Použití modelu Testovací Data Refund Yes No NO Mar. St Single, Divorced Tax. Inc < 80 K NO Married NO > 80 K YES V tomto případě nepodvádí

Jak strom vytvořit? Ručně nebo algoritmem pro indukci rozhodovacích stromů Existují desítky příbuzných algoritmů,

Jak strom vytvořit? Ručně nebo algoritmem pro indukci rozhodovacích stromů Existují desítky příbuzných algoritmů, často navzájem dost podobných Zde pouze naznačíme vlastnosti několika z nich (často používaných a/nebo zajímavých) CHAID CART ID 3 a C 5 QUEST GUIDE MARS Tree. Net MI-ADM, FIT CVUT 4

Myšlenka rozhodovacích stromů Rozděl a panuj: vhodně rozdělím zkoumané objekty do skupin. . .

Myšlenka rozhodovacích stromů Rozděl a panuj: vhodně rozdělím zkoumané objekty do skupin. . . a v každé skupině opět postupuji stejně (rekurze). . . dokud nedojdu k malým skupinkám, na něž stačí zcela jednoduchý model. rozdělení na podskupiny má přinést „informační zisk“, snížit entropii (implementováno např. v dnes užívaných algoritmech ID 3, C 4. 5 a C 5). MI-ADM, FIT CVUT 5

Jak zkonstruovat strom nad databází? Přístup Projdi shora dolů trénovací databázi a najdi nejlepší

Jak zkonstruovat strom nad databází? Přístup Projdi shora dolů trénovací databázi a najdi nejlepší atribut pro rozdělení kořenu Rozděl databázi podle hodnoty atributu Rekurzivně zpracuj každou část

Algoritmus Build. Tree(Node t, Training database D, Split Selection Method S) (1) Apply S

Algoritmus Build. Tree(Node t, Training database D, Split Selection Method S) (1) Apply S to D to find splitting criterion (2) if (t is not a leaf node) (3) Create children nodes of t (4) Partition D into children partitions (5) Recurse on each partition (6) endif

Upřesnění algorimu Tři problémy, které je třeba nějak vyřešit: Mechanizmus dělení (CART, C 4.

Upřesnění algorimu Tři problémy, které je třeba nějak vyřešit: Mechanizmus dělení (CART, C 4. 5, QUEST, CHAID, CRUISE, …) Regularizace (direct stopping rule, test dataset pruning, cost-complexity pruning, statistical tests, bootstrapping) Přístup k datům (CLOUDS, SLIQ, SPRINT, Rain. Forest, BOAT, Un. Pivot operator) Ačkoli už rozhodovací stromy existují dlouho, ještě se v těchto oblastech aktivně bádá Ramakrishnan and Gehrke. Database Management Systems, 3 rd Edition.

Jak zvolit "nejlepší" atribut? Rozdělme množinu S na podmnožiny S 1, S 2, .

Jak zvolit "nejlepší" atribut? Rozdělme množinu S na podmnožiny S 1, S 2, . . . , Sn na základě hodnot diskrétního atributu at. Měření množství informace uvnitř Si def. pomocí entropie (Shanon) H(Si) = -(pi+)*log pi+ - (pi-)*log pi-, kde (pi+) je pravděpodobnost, že libovolný příklad v Si je pozitivní; hodnota (pi+) se odhaduje jako odpovídající frekvence. Celková entropie H(S, at) tohoto systému je E(S, at) = åni=1 P(Si) * E(Si), kde P(Si) je pravděpodobnost události Si, tj. poměr |Si| / |S|. MI-ADM, FIT CVUT 9

Výpočet entropií MI-ADM, FIT CVUT 10

Výpočet entropií MI-ADM, FIT CVUT 10

Základní algoritmus ID 3 Realizuje prohledávání prostoru všech možných stromů: shora dolů s použitím

Základní algoritmus ID 3 Realizuje prohledávání prostoru všech možných stromů: shora dolů s použitím hladové strategie Volba atributu pro větvení na zákl. charakterizace „(ne)homogenity vzniklého pokrytí“ : informační zisk (gain) odhaduje předpokládané snížení entropie pro pokrytí vzniklé použitím hodnot odpovídajícího atributu MI-ADM, FIT CVUT 11

Algoritmus CHAID – úvod CHi-squared Automatic Interaction Detector Jeden z nejrozšířenějších rozhodovacích stromů v

Algoritmus CHAID – úvod CHi-squared Automatic Interaction Detector Jeden z nejrozšířenějších rozhodovacích stromů v komerční oblasti (vedle QUEST a C 4. 5 / C 5) Kass, Gordon V. (1980). An exploratory technique for investigating large quantities of categorical data. Applied Statistics, Vol. 29, pp. 119 -127. Založeno na autorově disertaci na University of Witwatersrand (Jihoafrická rep. ) Předchůdci: AID – Morgan a Sonquist, 1963; THAID – Morgan a Messenger, 1973 MI-ADM, FIT CVUT 12

Algoritmus CHAID: idea Začíná se u celého souboru Postupné větvení / štěpení souboru (přípustné

Algoritmus CHAID: idea Začíná se u celého souboru Postupné větvení / štěpení souboru (přípustné je rozdělení na libovolný počet větví vycházejících z jednoho uzlu) Algoritmus je rekurzivní – každý uzel se dělí podle stejného předpisu Zastaví se, pokud neexistuje statisticky signifikantní rozdělení => vzniká list Obvykle je navíc podmínka minimálního počtu případů v uzlu a/nebo v listu, příp. maximální hloubky stromu Používá kontingenční tabulky MI-ADM, FIT CVUT 13

Kontingenční tabulka připomenutí Data (n) contingency table j i 1 1 n 12 …

Kontingenční tabulka připomenutí Data (n) contingency table j i 1 1 n 12 … n 21 n 22 … 2 M s Kordik, CTU Prague, FIT, MI-PDD M 2 M … r n 1 r n 2 r O M ns 1 ns 2 … nsr 14

CHAID: postup v uzlu Pro všechny atributy Vytvoř kontingenční tabulku výstup x atribut (rozměr

CHAID: postup v uzlu Pro všechny atributy Vytvoř kontingenční tabulku výstup x atribut (rozměr k x l) Pro všechny dvojice hodnot atributu spočti chí-kvadrátový test podtabulky ( k x 2) „Podobné“ (=ne signifikantně odlišné) dvojice postupně spojuj (počínaje nejnižšími hodnotami chí-kvardrátu) a přepočítávej výchozí kontingenční tabulku. Zastav se, když signifikance všech zbylých podtabulek je vyšší než stanovená hodnota. Zapamatuj si spojené kategorie a signifikanci chí-kvadrátu výsledné tabulky s redukovanou dimenzionalitou Vyber atribut, kde je tato signifikance nejnižší Pokud jsou splněny podmínky štěpení, rozděl případy v uzlu podle již „spojených“ kategorií MI-ADM, FIT CVUT 15

CHAID: závěr Chybějící hodnoty: lze je považovat za zvláštní kategorii mimo systém a CHAID

CHAID: závěr Chybějící hodnoty: lze je považovat za zvláštní kategorii mimo systém a CHAID je „zvládá“ Vznikají-li však tím, že se nedozvíme hodnotu, která v realitě existuje a mohla by teoreticky být zjištěna, doporučuji zvážit jejich předchozí nahrazení odhadem (zjištěným např. opět pomocí rozhodovacího stromu); náhrada průměrem je méně vhodná Exhaustive CHAID – provádí podrobnější prohledávání + adjustaci signifikancí při většinou stále únosné rychlosti počítání Zdroj: Biggs, D. , de Ville, B, Suen, E. : A method of choosing multiway partitions for classification and decision trees. J. of Appl. Stat. , 18/1, 1991 MI-ADM, FIT CVUT 16

CART / C&RT Classification And Regression Tree Algoritmus je založen na počítání míry diverzity

CART / C&RT Classification And Regression Tree Algoritmus je založen na počítání míry diverzity („nečistoty“) uzlu Používa se Giniho míra diverzity (byla popsána) div. Gini = 1 – Σ pi 2 kde pi jsou relativní četnosti v uzlech MI-ADM, FIT CVUT 17

CART / C&RT (pokrač. ) Jen binární stromy Umožňuje zadání matice ztrát: 1 –

CART / C&RT (pokrač. ) Jen binární stromy Umožňuje zadání matice ztrát: 1 – lij pi pj Obvykle aplikujeme prořezávání (pruning) Σ Strom necháme vyrůst do maximální šíře To však vede k přeučení Proto zpětně odstraníme listy a větve, které podle vhodně zvoleného statistického kriteria nelze považovat za významné (většinou se používá cross-validation) „Surogáty“ – náhradní dělení pro případ chybějící hodnoty v prediktoru Breiman, L. , Friedman, J. H. , Olshen, R. A. , Stone, C. J. : Classication and Regression Trees. Wadsworth, 1984 CART je ™ Salford Systems, proto AT a Statistica užívají C&RT; existují i další komerční klony s jinými jmény MI-ADM, FIT CVUT 18

ID 3, C 4. 5, C 5 (See 5) Už jsme vysvětlovali Místo Giniho

ID 3, C 4. 5, C 5 (See 5) Už jsme vysvětlovali Místo Giniho míry užívají entropii a informační zisk Binární stromy Zabudovaný algoritmus pro zjednodušení množiny odvozených pravidel – lepší interpretovatelnost Ross Quinlan: Induction of decision trees (1986); týž: C 4. 5: Programs for Machine Learning, (1993); týž: C 5. 0 Decision Tree Software (1999) http: //www. rulequest. com/see 5 -info. html MI-ADM, FIT CVUT 19

QUEST Quick, Unbiased and Efficient Statistical Tree Loh, W. -Y. and Shih, Y. -S.

QUEST Quick, Unbiased and Efficient Statistical Tree Loh, W. -Y. and Shih, Y. -S. (1997), Split selection methods for classification trees, Statistica Sinica, vol. 7, pp. 815 -840 Výběr štěpící proměnné na základě statistického testu nezávislosti atribut x výstup => mírně suboptimální, ale rychlé, navíc výběr štěpící proměnné je nevychýlený Jen nominální výstup (=závisle proměnná) Binární strom, pruning Používá se imputace chybějících hodnot MI-ADM, FIT CVUT Portrét: Wei-Yin Loh 20

GUIDE Generalized, Unbiased, Interaction Detection and Estimation Loh, W. -Y. (2002), Regression trees with

GUIDE Generalized, Unbiased, Interaction Detection and Estimation Loh, W. -Y. (2002), Regression trees with unbiased variable selection and interaction detection, Statistica Sinica, vol. 12, 361386. Kromě po částech konstantní aproximace nabízí i po částech polynomiální „kříženec“ regresního stromu a mnohorozměrné regrese vhodné pro data, u kterých může být na místě jistá míra spojitosti aproximace, ale není to nutné všude ke stažení na www. stat. wisc. edu/~loh/guide. html MI-ADM, FIT CVUT 21

MARS Friedman, Jerome H. (1991): Multivariate Adaptive Regression Splines, Annals of Statistics, Vol 19,

MARS Friedman, Jerome H. (1991): Multivariate Adaptive Regression Splines, Annals of Statistics, Vol 19, 1 -141, Metoda blízce příbuzná rozhodovacím stromům; lze si ji představit jako jakýsi rozklad aproximační funkce do elementárních „stromů“ s jedním štěpením a s lineární namísto konstantní aproximací v obou polopřímkách Spliny = spojité po částech polynomické funkce; zde se obvykle používají lineární spliny a jejich interakce (tenzorové součiny) Jednotlivé polynomy se na hranicích napojují tak, aby se dosáhlo spojitosti Vhodné vyžadujeme-li spojitost (např. časové řady) MI-ADM, FIT CVUT 22

Tree. Net, rozhodovací lesy Friedman, J. H. (1999): Greedy Function Approximation: A Gradient Boosting

Tree. Net, rozhodovací lesy Friedman, J. H. (1999): Greedy Function Approximation: A Gradient Boosting Machine, Technical report, Dept. of Statistics, Stanford Univ. Namísto jednoho velkého stromu „les“ malých Výsledná predikce vzniká váženým součtem predikcí jednotlivých složek Analogie Taylorova rozvoje: rozvoj do stromů Špatně interpretovatelné (černá skříňka), ale robustní a přesné; nižší nároky na kvalitu a přípravu dat než neuronová síť nebo boosting běžných stromů Komerční, www. salford-systems. com MI-ADM, FIT CVUT 23

Závěrečné porovnání Model C 5. 0 CHAID QUEST C&R Tree Dělení Vícenásobné Binární Zvládá

Závěrečné porovnání Model C 5. 0 CHAID QUEST C&R Tree Dělení Vícenásobné Binární Zvládá spojitý výstup? Ne Ano Zvládá spojité vstupy? Ano Ne Ano Kritérium výběru atributu Informační zisk Chi-kvadrát F test pro spojité proměnné statistické Gini index (čistota rozdělení, variabilita) Kritérium prořezávání Limit chyby Hlídá přeučení Regularizace složitosti Interaktivní tvorba stromu Ne Ano Ano MI-ADM, FIT CVUT 24

Binární nebo obecné stromy? Binární stromy Obecné stromy Např. CART, C 5, QUEST Např.

Binární nebo obecné stromy? Binární stromy Obecné stromy Např. CART, C 5, QUEST Např. CHAID, Exhaustive CHAID Z uzlu vždy 2 větve Počet větví libovolný Rychlejší výpočet (méně Interpretovatelnost možností) člověkem je lepší Je třeba mít více uzlů Strom je menší Zpravidla přesnější Zpravidla logičtější => Data Mining, klasifikace => segmentace, mrktg. MI-ADM, FIT CVUT 25

Vizualizace rozhodovacího stromu Credit ranking (1=default) Node 0 Category % Bad 52, 01 Good

Vizualizace rozhodovacího stromu Credit ranking (1=default) Node 0 Category % Bad 52, 01 Good 47, 99 Total (100 , 00) n 168 155 323 Paid Weekly/Monthly Adj. P-value=0, 0000, Chi-square=179, 6665, df=1 Weekly pay Node 1 Category % Bad 86, 67 Good 13, 33 Total (51, 08) Monthly salary Node 2 Category % Bad 15, 82 Good 84, 18 Total (48, 92) n 143 22 165 Social Class Adj. P-value=0, 0004, Chi-square=20, 3674, df=2 Management; Professional Node 3 Category % Bad 71, 11 Good 28, 89 Total (13, 93) n 32 13 45 Clerical; Skilled Manual Node 4 Category % n Bad 97, 56 80 Good 2, 44 2 Total (25, 39) 82 n 25 133 158 Age Categorical Adj. P-value=0, 0000, Chi-square=58, 7255, df=1 Unskilled Node 5 Category % n Bad 81, 58 31 Good 18, 42 7 Total (11, 76) 38 MI-ADM, FIT CVUT Young (< 25) Node 6 Category % Bad 48, 98 Good 51, 02 Total (15, 17) Middle (25 -35); Old ( > 35) n 24 25 49 Node 7 Category % n Bad 0, 92 1 Good 99, 08 108 Total (33, 75) 109 26

Klasifikační stromy: Vizualizace viz scr. Viz. Class. Tree. m MI-ADM, FIT CVUT 27

Klasifikační stromy: Vizualizace viz scr. Viz. Class. Tree. m MI-ADM, FIT CVUT 27

Klasifikační stromy: Chyba vs. „ohebnost“ modelu Parametr splitmin určuje ohebnost modelu. Je to minimální

Klasifikační stromy: Chyba vs. „ohebnost“ modelu Parametr splitmin určuje ohebnost modelu. Je to minimální počet trénovacích případů v uzlu, aby jej algoritmus ještě mohl dále dělit Jaký další parametr stromu by mohl hrát podobnou roli? 28

Klasifikační stromy: Chyba vs. „ohebnost“ modelu II Závislost chyby stromu na parametru splitmin viz

Klasifikační stromy: Chyba vs. „ohebnost“ modelu II Závislost chyby stromu na parametru splitmin viz scr. Class. TTError. Tree. m Jak to, že trénovací chyba pro splitmin = 2 je nulová? MI-ADM, FIT CVUT 29

Stromy: Prořezávání Snižuje složitost modelu, odstraňuje „zbytečné“ větve, zlepšuje generalizaci scr. Viz. Class. Tree.

Stromy: Prořezávání Snižuje složitost modelu, odstraňuje „zbytečné“ větve, zlepšuje generalizaci scr. Viz. Class. Tree. m model=prune(model) view(model) MI-ADM, FIT CVUT 30

Regresní stromy: Jak se liší od klasifikačních? KT=130 KT=150 KT=120 KT=140 Místo nominální veličiny

Regresní stromy: Jak se liší od klasifikačních? KT=130 KT=150 KT=120 KT=140 Místo nominální veličiny (chřipka, nachl. , hypoch. ) modelují spojitou veličinu, např. krevní tlak (KT). Hodnota bývá průměr příslušných tr. případů. MI-ADM, FIT CVUT 31

Regresní stromy: Predikce scr. Viz. Regr. Tree. m MI-ADM, FIT CVUT 32

Regresní stromy: Predikce scr. Viz. Regr. Tree. m MI-ADM, FIT CVUT 32

Regresní stromy Chyba vs. „ohebnost“ modelu Závislost chyby stromu na parametru splitmin scr. Regr.

Regresní stromy Chyba vs. „ohebnost“ modelu Závislost chyby stromu na parametru splitmin scr. Regr. TTError. Tree. m MI-ADM, FIT CVUT 33