Download - MI-ADM – Algoritmy data miningu (2010 /2011)
![Page 1: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/1.jpg)
České vysoké učení technické v České vysoké učení technické v PrazePraze
Fakulta Fakulta informinformačních technologiíačních technologií
Katedra teoretické informatikyKatedra teoretické informatiky
MI-ADM – Algoritmy data miningu (2010/2011)
Přednáška 4: Rozhodovací stromy a jejich regresní varianty
1Pavel Kordík, FIT, Czech Technical University in Prague
![Page 2: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/2.jpg)
Příklad rozhodovacího stromu
Tid Refund MaritalStatus
TaxableIncome Cheat
1 Yes Single 125K No
2 No Married 100K No
3 No Single 70K No
4 Yes Married 120K No
5 No Divorced 95K Yes
6 No Married 60K No
7 Yes Divorced 220K No
8 No Single 85K Yes
9 No Married 75K No
10 No Single 90K Yes10
categoric
al
categoric
al
continuous
class
Refund
MarSt
TaxInc
YESNO
NO
NO
Yes No
Married Single, Divorced
< 80K > 80K
Attributy
Trénovací data Model: rozhodovací strom
![Page 3: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/3.jpg)
Použití modelu
Refund
MarSt
TaxInc
YESNO
NO
NO
Yes No
Married Single, Divorced
< 80K > 80K
Refund Marital Status
Taxable Income Cheat
No Married 80K ? 10
Testovací Data
V tomto případě nepodvádí
![Page 4: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/4.jpg)
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 CVUT4
![Page 5: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/5.jpg)
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
5
![Page 6: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/6.jpg)
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
![Page 7: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/7.jpg)
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
![Page 8: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/8.jpg)
Ramakrishnan and Gehrke. Database Management Systems, 3rd Edition.
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á
![Page 9: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/9.jpg)
MI-ADM, FIT CVUT
9
Jak zvolit "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 Si je pozitivní;
hodnota (pi+) se odhaduje jako odpovídající frekvence.
Celková entropie H(S,at) tohoto systému je E(S,at) = n
i=1 P(Si) * E(Si),
kde P(Si) je pravděpodobnost události Si, tj. poměr |Si| / |S|.
![Page 10: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/10.jpg)
Výpočet entropií
MI-ADM, FIT CVUT
10
![Page 11: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/11.jpg)
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
11
![Page 12: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/12.jpg)
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
12
![Page 13: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/13.jpg)
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
![Page 14: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/14.jpg)
Kordik, CTU Prague, FIT, MI-PDD 14
Kontingenční tabulka - připomenutí
Data (n) contingency tablej\i 1 2 … r
1 n11 n12 … n1r
2 n21 n22 … n2r
s ns1 ns2 … nsr
occurred timesof# i,jnij
occurred timesof# i nnj iji
occurred timesof# j nni ijj
sizedataset ij ijnn
![Page 15: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/15.jpg)
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
![Page 16: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/16.jpg)
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
![Page 17: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/17.jpg)
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
17
![Page 18: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/18.jpg)
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
![Page 19: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/19.jpg)
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
19
![Page 20: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/20.jpg)
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
20Portrét: Wei-Yin Loh
![Page 21: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/21.jpg)
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
21
![Page 22: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/22.jpg)
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
![Page 23: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/23.jpg)
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
23
![Page 24: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/24.jpg)
Závěrečné porovnání
MI-ADM, FIT CVUT
24
Model C5.0 CHAID QUEST C&R Tree
Dělení Vícenásobné Vícenásobné Binární Binární
Zvládá spojitý výstup?
Ne Ano Ne Ano
Zvládá spojité vstupy?
Ano Ne Ano Ano
Kritérium výběru atributu
Informační zisk
Chi-kvadrátF 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
Regularizace složitosti
Interaktivní tvorba stromu
Ne Ano Ano Ano
![Page 25: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/25.jpg)
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
25
![Page 26: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/26.jpg)
Vizualizace rozhodovacího stromu
MI-ADM, FIT CVUT26
Category % nBad 52,01 168Good 47,99 155Total (100,00) 323
Node 0
Category % nBad 15,82 25Good 84,18 133Total (48,92) 158
Node 2
Category % nBad 0,92 1Good 99,08 108Total (33,75) 109
Node 7Category % nBad 48,98 24Good 51,02 25Total (15,17) 49
Node 6
Category % nBad 86,67 143Good 13,33 22Total (51,08) 165
Node 1
Category % nBad 81,58 31Good 18,42 7Total (11,76) 38
Node 5Category % nBad 97,56 80Good 2,44 2Total (25,39) 82
Node 4Category % nBad 71,11 32Good 28,89 13Total (13,93) 45
Node 3
Credit ranking (1=default)
Paid Weekly/MonthlyAdj. P-value=0,0000, Chi-square=179,6665, df=1
Monthly salary
Age CategoricalAdj. P-value=0,0000, Chi-square=58,7255, df=1
Middle (25-35);Old ( > 35)Young (< 25)
Weekly pay
Social ClassAdj. P-value=0,0004, Chi-square=20,3674, df=2
UnskilledClerical;Skilled ManualManagement;Professional
![Page 27: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/27.jpg)
MI-ADM, FIT CVUT
27
Klasifikační stromy: Vizualizace
viz scrVizClassTree.m
![Page 28: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/28.jpg)
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?
![Page 29: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/29.jpg)
MI-ADM, FIT CVUT
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á?
![Page 30: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/30.jpg)
MI-ADM, FIT CVUT
30
Stromy:Prořezávání
Snižuje složitost modelu, odstraňuje „zbytečné“ větve, zlepšuje generalizaci
scrVizClassTree.m model=prune(model) view(model)
![Page 31: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/31.jpg)
MI-ADM, FIT CVUT
31
Regresní stromy:Jak se liší od klasifikačních?
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ů.
KT=150 KT=140
KT=130 KT=120
![Page 32: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/32.jpg)
MI-ADM, FIT CVUT
32
Regresní stromy:Predikce
scrVizRegrTree.m
![Page 33: MI-ADM – Algoritmy data miningu (2010 /2011)](https://reader035.vdocuments.us/reader035/viewer/2022070412/56814bb6550346895db8874d/html5/thumbnails/33.jpg)
MI-ADM, FIT CVUT
33
Regresní stromyChyba vs. „ohebnost“ modelu
Závislost chyby stromu na parametru splitmin scrRegrTTErrorTree.m