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

Post on 16-Jan-2016

27 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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

Č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

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

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í

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

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

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

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

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á

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

Výpočet entropií

MI-ADM, FIT CVUT

10

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

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

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

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

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

(„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

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

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

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

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

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

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

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

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

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

MI-ADM, FIT CVUT

27

Klasifikační stromy: Vizualizace

viz scrVizClassTree.m

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?

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á?

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)

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

MI-ADM, FIT CVUT

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

top related