1 / 33

MI-ADM – Algoritmy data miningu (2010 /2011)

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. categorical. categorical. continuous. class. Příklad rozhodovacího stromu. Attributy. Refund. Yes. No. NO. MarSt.

shea
Télécharger la présentation

MI-ADM – Algoritmy data miningu (2010 /2011)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. categorical categorical continuous class Příklad rozhodovacího stromu Attributy Refund Yes No NO MarSt Married Single, Divorced TaxInc NO < 80K > 80K YES NO Model: rozhodovací strom Trénovací data

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

  4. 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 • ID3 a C5 • QUEST • GUIDE • MARS • TreeNet MI-ADM, FIT CVUT

  5. 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 ID3, C4.5 a C5). MI-ADM, FIT CVUT

  6. Jak zkonstruovat strom nad databází? • Přístup shora dolů • Projdi 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

  7. Algoritmus BuildTree(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

  8. Upřesnění algorimu • Tři problémy, které je třeba nějak vyřešit: • Mechanizmus dělení (CART, C4.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, RainForest, BOAT, UnPivot operator) • Ačkoli už rozhodovací stromy existují dlouho, ještě se v těchto oblastech aktivně bádá

  9. Jakzvolit "nejlepší" atribut? Rozdělme množinu S na podmnožiny S1,S2, ...,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 Sije 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

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

  11. Základní algoritmus ID3 • 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

  12. Algoritmus CHAID – úvod • CHi-squared Automatic Interaction Detector • Jeden z nejrozšířenějších rozhodovacích stromů v komerční oblasti (vedle QUEST a C4.5 / C5) • 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

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

  14. O M M M M Kontingenční tabulka - připomenutí • Data (n)  contingency table Kordik, CTU Prague, FIT, MI-PDD

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

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

  17. 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) divGini = 1 – Σpi2 • kde pi jsou relativní četnosti v uzlech MI-ADM, FIT CVUT

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

  19. ID3, C4.5, C5 (See5) • 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ýž: C4.5: Programs for Machine Learning, (1993); týž: C5.0 Decision Tree Software (1999) • http://www.rulequest.com/see5-info.html MI-ADM, FIT CVUT

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

  21. GUIDE • Generalized, Unbiased, Interaction Detection and Estimation • Loh, W.-Y. (2002), Regression trees with unbiased variable selection and interaction detection, Statistica Sinica, vol. 12, 361-386. • 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

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

  23. TreeNet, 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

  24. Závěrečné porovnání MI-ADM, FIT CVUT

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

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

  27. Klasifikační stromy: Vizualizace viz scrVizClassTree.m MI-ADM, FIT CVUT

  28. 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?

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

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

  31. Regresní stromy:Jak se liší od klasifikačních? KT=130 KT=120 KT=150 KT=140 MI-ADM, FIT CVUT • 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ů.

  32. Regresní stromy:Predikce • scrVizRegrTree.m MI-ADM, FIT CVUT

  33. Regresní stromyChyba vs. „ohebnost“ modelu Závislost chyby stromu na parametru splitmin scrRegrTTErrorTree.m MI-ADM, FIT CVUT

More Related