Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Rozhodovací stromy 11.4.2012 (c) 2012 Tomáš Kliegr.

Podobné prezentace


Prezentace na téma: "Rozhodovací stromy 11.4.2012 (c) 2012 Tomáš Kliegr."— Transkript prezentace:

1 Rozhodovací stromy (c) 2012 Tomáš Kliegr

2 Osnova Představení a kontext Algoritmus TDIDT Entropie, Informační zisk Použití stromu Převod na rozhodovací pravidla Přeučení Prořezávání Převod na rozhodovací tabulku

3 3 rozpoznání problémových nebo vysoce bonitních klientů banky analýza klientů pojišťovny analýza nákupních košíků predikce spotřeby elektřiny (vody, plynu) analýza poruchovosti automobilů analýza dat o pacientech analýza příčin změny mobilních operátorů analýza chování zákazníků internetových obchodů (clickstreamy) text mining … Dobývání znalostí z databází – příklady úloh

4 4 Metodika CRISP DM

5 5 nejdůležitější je fáze porozumění problému - 80% významu časově nejnáročnější příprava dat - 80% času vlastní analýzy 5% času Praktické zkušenosti

6 Klasifikační úloha Patří mezi úlohy Dobývání znalostí z databází (DZD) Klasifikace: po naučení na trénovacích datech se používá pro zařazení nových objektů. Obvykle je objekt zařazován do právě jedné z x možných (nominálních) tříd Také lze na klasifikaci pohlížet jako na úlohu odhadování hodnoty cílové proměnné Rozšíření Klasifikace do více tříd Cílová proměnná je numerická

7 Další úlohy DZD Shlukování: instance jsou rozděleny do skupin. Není fáze trénování. Asociační pravidla: slouží pro explorativní analýzu dat, nalezení zajímavých souvislostí v datech.

8 Představení DenPředpověďTeplotaVlhkostVítrHrát tenis D1JasnoHorkoVysokáSlabýNe D2JasnoHorkoVysokáSilnýNe D3ZataženoHorkoVysokáSlabýAno D4DéšťPříjemněVysokáSlabýAno D5DéšťChladnoNormálníSlabýAno D6DéšťChladnoNormálníSilnýNe D7ZataženoChladnoNormálníSilnýAno D8JasnoPříjemněVysokáSlabýNe D9JasnoChladnoNormálníSlabýAno D10DéšťPříjemněNormálníSlabýAno D11JasnoPříjemněNormálníSilnýAno D12ZataženoPříjemněVysokáSilnýAno D13ZataženoHorkoNormálníSlabýAno D14DéšťPříjemněVysokáSilnýNe Cílová proměnná

9 Představení Jeden z nejpoužívanějších klasifikačních algoritmů Předpověď Vlhkost Ano Vítr Jasno Zataženo Déšť Vysoká Normální Ano Ne Slabý Ano Silný Ne

10 Indukce rozhodovacích stromů Cílová proměnná* –Kategoriální –Spojitá Vstupní proměnné (atributy) - prediktory První fáze - Učení se z historických dat –Výstupem je rozhodovací strom Rozhodovací strom je použit na data * (v závislosti na použitém algoritmu)

11 Top Down Induction Of Decision Trees (TDIDT) Princip „rozděl a panuj“ Pro každou proměnnou –Rozděl všechny vstupní záznamy na dvě nebo více skupin dle hodnot –Spočítej dobrotu (goodness) pro - kvalitu tohoto rozdělení do skupin – jak dobře vylepšuje odhad cílové proměnné Vyber proměnnou s nejlepším goodness a rozděl podle ní záznamy do skupin Opakuj pro každou vzniklou skupinu až do doby, než bude dosaženou zastavující podmínky

12 Příklad DenPředpověďTeplotaVlhkostVítrHrát tenis D1JasnoHorkoVysokáSlabýNe D2JasnoHorkoVysokáSilnýNe D3ZataženoHorkoVysokáSlabýAno D4DéšťPříjemněVysokáSlabýAno D5DéšťChladnoNormálníSlabýAno D6DéšťChladnoNormálníSilnýNe D7ZataženoChladnoNormálníSilnýAno D8JasnoPříjemněVysokáSlabýNe D9JasnoChladnoNormálníSlabýAno D10DéšťPříjemněNormálníSlabýAno D11JasnoPříjemněNormálníSilnýAno D12ZataženoPříjemněVysokáSilnýAno D13ZataženoHorkoNormálníSlabýAno D14DéšťPříjemněVysokáSilnýNe

13 Zastavovací podmínky Základní Skupina je „čistá“ -všechny záznamy mají jen jednu hodnotu cílové proměnné Žádná vhodná proměnná pro rozdělení nebyla nalezena Další: Skupina je příliš malá – obsahuje jen malý počet záznamů …

14 Optimalita TDIDT TDIDT je postavena na žravém principu Proměnná pro větvení je vybrána podle hodnoty dobroty a není nikdy později měněna Algoritmus tak hledá lokální optimum, přičemž se doufá v nalezení globálně nejlepšího řešení Za optimální řešení bývá považován nejmenší strom, který reprezentuje data Může se stát, že optimální řešení nebude nalezeno nebo že růst stromu bude předčasně ukončen žádný „backtracking“

15 Algoritmy ID3 (Quinlan 1986) C4.5 (Quinlan 1993) CART (Breiman et al 1984) CHAID Klíčovým rozdílem je definice goodness – způsob výběru algoritmu pro větvení entropie Informační zisk Poměrný informační zisk Chi kvadrát test GINI Index entropie

16 Informační zisk Jak dobře atribut rozděluje trénovací instance podle hodnot cílového atributu Vychází z entropie (Informační teorie) Odpovídá na otázku, který atribut zvolit pro větvení Předpověď Vlhkost Ano Vítr Jasno Zataženo Déšť Vysoká Normální Ano Ne Slabý Ano Silný Ne

17 Entropie V teorii informace je entropie definovaná jako funkce pravděpodobnost výskytu třídy t je počet tříd Poměr počtu instancí s hodnotou cílového atributu t na počtu všech instancí Počet různých hodnot cílového atributu v teorii informacev kontextu rozhodovacích stromů Entropie měří homogenitu příkladů Minimální počet bitů, který je potřeba pro zakódování klasifikace libovolného prvku S

18 Entropie - příklad idp 1Ne 2 3Ano 4 5 6Ne 7Ano 8Ne 9Ano 10Ano 11Ano 12Ano 13Ano 14Ne Klasifikace do dvou tříd množiny se 14 instancemi Množina S

19 Entropie - příklad Pro výpočet se předpokládá, že log 2 (0) = 0 Entropie Poměr pozitivních instancí vůči všem instancím

20 Kvíz 1 Jaká je maximální hodnota entropie v obecném případě (třídy nejsou dvě, ale je jich c)?

21 Informační zisk Informační zisk (information gain) atributu je očekávané snížení entropie na základě rozdělení příkladů do skupin dle hodnot tohoto atributu. množina všech hodnot atributu A podmnožina S pro kterou má atribut A hodnotu v Očekávané snížení entropie na základě znalosti hodnot atributu A

22 Informační zisk - příklad

23 Den…VítrHrát tenis D1SlabýNe D2SilnýNe D3SlabýAno D4SlabýAno D5SlabýAno D6SilnýNe D7SilnýAno D8SlabýNe D9SlabýAno D10SlabýAno D11SilnýAno D12SilnýAno D13SlabýAno D14SilnýNe

24 Den…VítrHrát tenis D1SlabýNe D2SilnýNe D3SlabýAno D4SlabýAno D5SlabýAno D6SilnýNe D7SilnýAno D8SlabýNe D9SlabýAno D10SlabýAno D11SilnýAno D12SilnýAno D13SlabýAno D14SilnýNe

25 Dosazení entropie do vzorce pro informační zisk Získali jsme informační zisk pro atribut Vítr. Jaký bude informační zisk pro další atributy?

26 Výběr atributu pro větvení Vybíráme Předpověď. Předpověď ? ? Ano ? ? Jasno Zataženo Déšť

27 DenPředpověďTeplotaVlhkostVítrHrát tenis D1JasnoHorkoVysokáSlabýNe D2JasnoHorkoVysokáSilnýNe D8JasnoPříjemněVysokáSlabýNe D9JasnoChladnoNormálníSlabýAno D11JasnoPříjemněNormálníSilnýAno

28 DenPředpověďTeplotaVlhkostVítrHrát tenis D1JasnoHorkoVysokáSlabýNe D2JasnoHorkoVysokáSilnýNe D8JasnoPříjemněVysokáSlabýNe D9JasnoChladnoNormálníSlabýAno D11JasnoPříjemněNormálníSilnýAno

29 Výběr atributu pro větvení Předpověď Vlhkost Ano ? ? Jasno Zataženo Déšť Vysoká Normální Ano Ne

30 DenPředpověďTeplotaVlhkostVítrHrát tenis D4DéšťPříjemněVysokáSlabýAno D5DéšťChladnoNormálníSlabýAno D6DéšťChladnoNormálníSilnýNe D10DéšťPříjemněNormálníSlabýAno D14DéšťPříjemněVysokáSilnýNe

31 Výsledný strom Předpověď Vlhkost Ano Vítr Jasno Zataženo Déšť Vysoká Normální Ano Ne Slabý Ano Silný Ne Entropie 0

32 Použití stromu Proběhla indukce stromu z trénovacích dat Strom je možné použít na klasifikaci nových případů U nové (tzv. testovací) instance postupně zjišťujeme hodnoty atributů ve stromě, počínaje kořenem stromu Postupujeme po větvi, která odpovídá hodnotě atributu u nové instance Jakmile se dostaneme k listovému uzlu klasifikace končí, výsledkem je třída tam uvedená.

33 Příklad DenPředpověďTeplotaVlhkostVítrHrát tenis D1JasnoHorkoVysokáSlabýNe D2JasnoHorkoVysokáSilnýNe D3ZataženoHorkoVysokáSlabýAno D4DéšťPříjemněVysokáSlabýAno D5DéšťChladnoNormálníSlabýAno D6DéšťChladnoNormálníSilnýNe D7ZataženoChladnoNormálníSilnýAno D8JasnoPříjemněVysokáSlabýNe D9JasnoChladnoNormálníSlabýAno D10DéšťPříjemněNormálníSlabýAno D11JasnoPříjemněNormálníSilnýAno D12ZataženoPříjemněVysokáSilnýAno D13ZataženoHorkoNormálníSlabýAno D14DéšťPříjemněVysokáSilnýNe DenPředpověďTeplotaVlhkostVítrHrát tenis Test1JasnoHorkoNormálníSilný?

34 DenPředpověďTeplotaVlhkostVítrHrát tenis Test1JasnoHorkoNormálníSilný? Předpověď Vlhkost Ano Vítr Jasno Zataženo Déšť Vysoká Normální Ano Ne Slabý Ano Silný Ne DenPředpověďTeplotaVlhkostVítrHrát tenis Test1JasnoHorkoNormálníSilnýAno

35 Kvíz 2 Ve kterých případech se může stát, aby testovací instanci nebylo možné pomocí naučeného stromu klasifikovat: A) Pouze tehdy, když má instance chybějící hodnoty pro některé atributy (např. chybí hodnota Vlhkosti) B) Pouze tehdy, když má instance jiné hodnoty v některých atributech, než byly v trénovacích datech např. Déšť – střední C) Pouze tehdy, když má instance další atributy oproti trénovacím datům, např. rosný bod. D) Instanci lze klasifikovat vždy. E) V případech A,B F) V případech A,B,C G) V případě A,C

36 Převod stromu na pravidla Každé cestě stromem od kořenu k listu odpovídá jedno pravidlo Nelistové uzly tvoří předpoklad pravidla Listové uzly – hodnoty cílové proměnné – závěr pravidla Převedení stromu na pravidla zvyšuje srozumitelnost nalezených znalostí Seznam pravidel je možné automaticky použít ve znalostním systému Např. pomocí systému JBOSS Drools Např. pomocí systému JBOSS Drools

37 Předpověď Vlhkost Ano Vítr Jasno Zataženo Déšť Vysoká Normální Ano Ne Slabý Ano Silný Ne Strom převedený na pravidla IF Předpověď(Jasno) AND Vlhkost(Vysoká) THEN Hrát_Tenis(Ne) IF Předpověď(Jasno) AND Vlhkost(Normální)THEN Hrát_Tenis(Ano) IF Předpověď(Zataženo) THEN Hrát_Tenis(Ano) IF Předpověď(Déšť) AND Vítr(Silný) THEN Hrát_Tenis(Ne) IF Předpověď(Déšť) AND Vítr(Slabý) THEN Hrát_Tenis(Ano)

38 Problémy - Šum Vytvoření rozhodovacího strom, který bezchybně klasifikuje data z tréningové množiny není vždy možné PředpověďTeplotaVlhkostVítrHrát tenis JasnoHorkoVysokáSlabýNe..……….., DéšťPříjemněVysokáSilnýNe DéšťPříjemněVysokáSilnýAno

39 Problémy - přeučení Požadavek na tvorbu stromů s maximálně bezchybnou klasifikací na trénovací množině vede často přeučení (overfitting) Den IDDen v týdnu Předpov ěď TeplotaVlhkostVítrHrát tenis D1pondělíJasnoHorkoVysokáSlabýNe …..……….., D14pondělíDéšťPříjemněVysokáSilnýNe D15úterýDéšťPříjemněVysokáSilnýAno Den v týdnu pondělí… úterý Ne Ano Extrémní případ přeučeného klasifikačního modelu

40 Kvíz 3 Jaký atribut si vybere rozhodovací strom vytvářený pomocí algoritmu ID3 jako kořenový? Neuvažujte cílový atribut jako možný prediktor Den IDDen v týdnuPředpověďTeplotaVlhkostVítrHrát tenis D1pondělíJasnoHorkoVysokáSlabýNe …..……….., D14pondělíDéšťPříjemněVysokáSilnýNe D15úterýDéšťPříjemněVysokáSilnýAno

41 Přeučení Pokud má rozhodovací strom Na trénovacích instancích chybu Na celém rozdělení instancí (na všech instancích i mimo trénovací množinu) D chybu Pak strom m je přeučený vzhledem k trénovacím datům, pokud existuje alternativní strom m’, pro který platí

42 Důsledek přeučení Zdroj: Mitchell 97

43 Příčiny přeučení - příklad Kvalita stromu je dána přesností stromu na trénovacích datech To vytváří tlak na to, aby se strom „namemoroval“ kombinace atributů spíše než prováděl jejich zobecňování. DenPředpověďTeplotaVlhkostVítrHrát tenis D1JasnoHorkoVysokáSlabýNe …. D9JasnoChladnoNormálníSlabýAno D11JasnoPříjemněNormálníSilnýAno D15JasnoHorkoNormálníSilnýNe Instance 15 představuje šum, protože správná třída je + Předpověď Vlhkost Jasno Vysoká Normální Ano Ne Tato instance by byla stromem špatně zaklasifikována

44 Příčiny přeučení - příklad Nově upravený strom na základě inkrementálního učení Předpověď Vlhkost Jasno Vysoká Normální Ne Perfektní klasifikace na trénovacích datech, ale na testovacích datech lze očekávat horší výsledky Teplota Ne Ano HorkoPříjemněChladno DenPředpověďTeplotaVlhkostVítrHrát tenis D1JasnoHorkoVysokáSlabýNe …. D9JasnoChladnoNormálníSlabýAno D11JasnoPříjemněNormálníSilnýAno D15JasnoHorkoNormálníSilnýNe

45 Kvíz 4 Jaká může být maximálně hloubka stromu naučeného z dat popsaných čtyřmi atributy (prediktory) a jedním cílovým atributem? Hloubkou stromu rozumíme počet atributů použitých pro větvení včetně kořene.

46 Přeučení - řešení Dva přístupy 1.Zastavit růst stromu před tím, než přeučení nastane 2.Nechat vyrůst plný strom a následně ho prořezat

47 Prořezávání pravidel Používá se například v algoritmu C4.5 Řada algoritmů Rule post pruning 1.Proveď indukci rozhodovacího stromu (bez ošetření overfittingu – s cílem bezchybné klasifikace trénovacích dat) 2.Převeď strom na ekvivalentní sadu pravidel 3.Prořež (zobecni) každé pravidlo – odstraň všechny podmínky, jejichž odstranění nesníží přesnost predikce 4.Seřaď prořezaná pravidla dle odhadované přesnosti a použij je při klasifikaci testovacích dat v tomto pořadí Využívá validační množinu instancí.

48 Rule Post Pruning - příklad Strom převedený na pravidla IF Předpověď(Jasno) AND Vlhkost(Vysoká) THEN Hrát_Tenis(Ne) IF Předpověď(Jasno) AND Vlhkost(Normální)THEN Hrát_Tenis(Ano) IF Předpověď(Zataženo) THEN Hrát_Tenis(Ano) IF Předpověď(Déšť) AND Vítr(Silný) THEN Hrát_Tenis(Ne) IF Předpověď(Déšť) AND Vítr(Slabý) THEN Hrát_Tenis(Ano) Pro první pravidlo srovnej: Strom převedený na pravidlaPřesnost na validační množině IF Předpověď(Jasno) AND Vlhkost(Vysoká) THEN Hrát_Tenis(Ne) … IF Předpověď(Jasno) THEN Hrát_Tenis(Ne)… IF Vlhkost(Vysoká) THEN Hrát_Tenis(Ne)… Vyber pravidlo s nejvyšší přesností

49 Rozhodovací tabulky Rozhodovací strom je možné vyjádřit též jako rozhodovací tabulku Rozhodovací tabulka je tabulková reprezentace skládající se ze čtyř kvadrantů oddělených horizontálními a vertikálními zdvojenými čarami PředpověďJasno ZataženoDéšť VlhkostVysokáNormální--- Vítr---SilnýSlabý Hrát ANO xx x Hrát NEx x Strom převedený na pravidla IF Předpověď(Jasno) AND Vlhkost(Vysoká) THEN Hrát_Tenis(Ne) IF Předpověď(Jasno) AND Vlhkost(Normální)THEN Hrát_Tenis(Ano) IF Předpověď(Zataženo) THEN Hrát_Tenis(Ano) IF Předpověď(Déšť) AND Vítr(Silný) THEN Hrát_Tenis(Ne) IF Předpověď(Déšť) AND Vítr(Slabý) THEN Hrát_Tenis(Ano) Horizontální čára rozděluje tabulku na podmínkovou část (nahoře) a akční část (dole) Vertikální čára rozděluje atributy od jejich hodnot Pomlčka značí, že hodnota sloupce je irelevantní X v akční části značí závěr při splnění podmínek Každý sloupec odpovídá jednomu pravidlu

50 Rozhodovací tabulky Úplnost – pokrývá všechny možné kombinace podmínek Exkluzivita – žádná kombinace není pokryta více jak jedním sloupcem

51 Srovnání Rozhodovací stromy – přímo implementovány v statistických a dataminingových programech, dobře probádané algoritmy Rozhodovací pravidla – lépe srozumitelná interpretace, možnost vykonávat v business rules systémech Rozhodovací tabulky – podle experimentů jsou nejlépe srozumitelné. Všechny tři reprezentace jsou na sebe vzájemně převoditelné

52 Rozšiřující témata Numerické vysvětlující proměnné –Velký počet možných hodnot –Rozdělení na intervaly a tyto intervaly se pak považují za diskrétní hodnoty atributu-ve fázi předzpracování –Příklad-například teplota Numerická cílová proměnná –Místo hrát_tenis(Ano/Ne) např. délka_hry(integer) –Regresní stromy

53 Literatura Petr Berka. Dobývání znalostí z databází. Academia Tom Mitchell, Machine Learning. McGraw-Hill, Johan Huysmans, Karel Dejaeger, Christophe Mues, Jan Vanthienen, Bart Baesens: An empirical evaluation of the comprehensibility of decision table, tree and rule based predictive models. Decision Support Systems 51(1): (2011)


Stáhnout ppt "Rozhodovací stromy 11.4.2012 (c) 2012 Tomáš Kliegr."

Podobné prezentace


Reklamy Google