mi-adm – algoritmy data miningu (2010 /2011)

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

Upload: shea

Post on 16-Jan-2016

26 views

Category:

Documents


1 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

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

Č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)

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)

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)

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)

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)

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)

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)

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)

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)

Výpočet entropií

MI-ADM, FIT CVUT

10

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

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

MI-ADM, FIT CVUT

27

Klasifikační stromy: Vizualizace

viz scrVizClassTree.m

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

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)

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)

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)

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)

MI-ADM, FIT CVUT

32

Regresní stromy:Predikce

scrVizRegrTree.m

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

MI-ADM, FIT CVUT

33

Regresní stromyChyba vs. „ohebnost“ modelu

Závislost chyby stromu na parametru splitmin scrRegrTTErrorTree.m