Pavel Kordík, Jan Motl (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 6 1/25 Vytěžování znalostí z dat Pavel Kordík, Jan Motl Department of Computer Systems Faculty of Information Technology Czech Technical University in Prague Přednáška 6: y BI-VZD, 09/2011 MI-POA Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
10 Pavel Kordík, Jan Motl (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 6 2/25 Příklad rozhodovacího stromu Tid Refund Marital Status Taxable Income Cheat Attributy 1 Yes Single 125K No 2 No Married 100K No 3 No Single 70K No Yes Refund 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 NO MarSt Single, Divorced TaxInc < 80K > 80K Married NO 9 No Married 75K No 10 No Single 90K Yes NO YES Trénovací data Model: rozhodovací strom
Pavel Kordík, Jan Motl (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 6 3/25 10 Použití modelu Testovací Data Refund Marital Status Taxable Income Cheat Refund No Married 80K? Yes No NO Single, Divorced MarSt Married V tomto případě nepodvádí TaxInc NO < 80K > 80K NO YES
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, například: o CHAID o CART o ID3 a C5 o QUEST o GUIDE o MARS o TreeNet Pavel Kordík, Jan Motl (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 6 4/25
Pavel Kordík, Jan Motl (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 6 5/25 Přístup shora dolů Konstrukce stromu 1. Projdi trénovací data a najdi atribut, který nejlépe rozdělí data do tříd. 2. Rozděl data podle hodnoty atributu. 3. Rekurzivně zpracuj každou skupinu, dokud není složena jen z jedné třídy. Lze postupovat i od zdola nahoru
Algoritmus BuildTree(Node t, Training database D, Split Selection Method S) (1) Apply Sto Dto find splitting criterion (2) if(tis not a leaf node) (3) Create children nodes of t (4) Partition D into children partitions (5) Recurse on each partition (6) endif Pavel Kordík, Jan Motl (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 6 6/25
Pavel Kordík, Jan Motl (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 6 7/25 Upřesnění algoritmu Dva problémy, které je třeba vyřešit: 1. Mechanizmus dělení. Obvykle se měří informační zisk, Giniho míra nebo entropie 2. Regularizace.Buďto přímo zastavovací pravidlo, nebo pravidlo pro ořezání stromu
Pavel Kordík, Jan Motl (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 6 8/25 Entropie Entropiepopisuje míru neuspořádanosti. Množstvíinformaceuvnitřmnožiny Slze popsat: = Entropie( S) P S logp S i i i kdep(s i )je pravděpodobnost, že libovolný příkladv S jetypu S i. Graf entropie: Vyber atribut, který minimalizuje maximální entropii ve skupině.
Pavel Kordík, Jan Motl (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 6 9/25 Intuice Entropie1 = náhodné chování, žádná užitečná informace. Entropie 0= rozdělí data dle tříd, signifikatní informace. Ideálně najdeme atribut, který rozdělí data na dobrý a zlý.
Atributy: tvar, barva Výpočet entropie é =1 č é =0 =1log1+0log0 =0 _ é=1/3 _č é=2/3 č = 1 3 log1 3 +2 3 log2 3 =0,92 Vážený průměr entropií:, č = 1 4 0+3 4 0,92=0,69 10 Pavel Kordík, Jan Motl (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 6 10/25
Pavel Kordík, Jan Motl (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 6 11/25 Informační zisk Informační zisk(gain) porovnává entropii před a po rozdělení. Tedy měří, kolik informace jsme získali rozdělením dle zvoleného atributu. Informační zisk=entropie(před) Entropie(po) Výpočet se provede pro každý uzel stromu a pro všechny jeho atributy. Atribut s největším informačním ziskemje zvolen pro rozdělení.
Pavel Kordík, Jan Motl (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 6 12/25 Krize informačního zisku Problém s informačním ziskem je, že preferuje atributy s mnoha hodnotami. Například by preferoval Osoba_id, který nabývá pro každý řádek jiné hodnoty, a to i navzdory tomu, že pro klasifikaci je to nejméně užitečný atribut ze všech!
Pavel Kordík, Jan Motl (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 6 13/25 Příklad krize informačního zisku Používá žena antikoncepci? Známe následující parametry: 1. Wife's age: {16, 17,, 49}. 2. Wife's education: {low, med-, med+, high}. 3. Husband's education: {low, med-, med+, high}. 4. Number of children ever born: {0, 1,, 16}. 5. Wife's religion: {non-islam, islam}. 6. Wife working status: {employed, unemployed}. 7. Husband's occupation: {low, med-, med+, high}. 8. Standard of living: {low, med-, med+, high}. 9. Media exposure: {adequate, inadequate}. IG IG realitavzorek 0,045 0,771 0,044 0,495 0,018 0,281 0,113 0,571 0,004 0,079 0,001 0,020 0,006 0,020 0,018 0,210 0,015 0,144
Pavel Kordík, Jan Motl (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 6 14/25 Příklad krize informačního zisku Protože vzorek je malý, je v každém věku velmi málo žen. A když existuje jen jedna žena v každém věku, tak atribut věk má maximální informační zisk a je tak zdánlivě nejlepší.
Pavel Kordík, Jan Motl (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 6 15/25 Podíl informačního zisku Podíl informačního zisku(ratio) modifikuje informační zisk tak, aby netíhl k výběru atributů s mnoha hodnotami. Podíl informačního zisku = č í í ě í
Pavel Kordík, Jan Motl (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 6 16/25 Giniho míra diverzity Giniho míra(index) vyjadřuje nečistotu uzlu. Gini = 1 ΣP i 2 kde P i jsou relativní četnosti v uzlech Rozdíl mezi entropií a Giniho mírou je ve tvaru křivky. Entropie penalizuje smíšené uzly trochu více než Gini, jinak jsou ale zaměnitelné.
Pavel Kordík, Jan Motl (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 6 17/25 Podmínka zastavení dělení Nepožadujeme naprosto dokonalý strom, který by trénovací klasifikoval na 100%, protože vzniklý strom by měl tendenci být přeučený a příliš velký. Používají se dvě metody: 1. Zastavovací pravidlo o Zastaví se, pokud neexistuje statisticky signifikantní rozdělení => vzniká list o 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 2. Prořezávání(pruning) o Strom necháme vyrůst do maximální šíře o To však vede k přeučení o 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-validace) o Prořezáním se sníží složitost modelu
Pavel Kordík, Jan Motl (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 6 18/25 Prořezání
Pavel Kordík, Jan Motl (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 6 19/25 TreeNet, rozhodovací lesy 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ů
Pavel Kordík, Jan Motl (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 6 20/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.
Pavel Kordík, Jan Motl (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 6 21/25 Vizualizace rozhodovacího stromu Credit ranking (1=default) Node 0 Category % n Bad 52,01 168 Good 47,99 155 Total (100,00) 323 Paid Weekly/Monthly Adj. P-value=0,0000, Chi-square=179,6665, df=1 Weekly pay Node 1 Category % n Bad 86,67 143 Good 13,33 22 Total (51,08) 165 Social Class Adj. P-value=0,0004, Chi-square=20,3674, df=2 Monthly salary Node 2 Category % n Bad 15,82 25 Good 84,18 133 Total (48,92) 158 Age Categorical 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 Category % n Bad 71,11 32 Good 28,89 13 Total (13,93) 45 Node 4 Category % n Bad 97,56 80 Good 2,44 2 Total (25,39) 82 Node 5 Category % n Bad 81,58 31 Good 18,42 7 Total (11,76) 38 Node 6 Category % n Bad 48,98 24 Good 51,02 25 Total (15,17) 49 Node 7 Category % n Bad 0,92 1 Good 99,08 108 Total (33,75) 109
Pavel Kordík, Jan Motl (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 6 22/25 Vizualizace Stromy vytváří pravoúhlé dělící linie
Pavel Kordík, Jan Motl (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 6 23/25 Plasticita modelu Závislost chyby stromu na parametru splitmin Jak to, že trénovací chyba pro splitmin= 2 je nulová?
Diskuze Pavel Kordík, Jan Motl (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 6 24/25 Diskuse Intuitivní interpretacevýsledků y se pomalu učí, ale jejich použití je potom velmi rychlé Mnohé algoritmy (například C5.0) sami dopočítávají chybějící údaje, normalizují data, Jejich použití je tedy jednoduché. A výsledky jsou přitom dobré. -> Oblíbené zvláště v průmyslu.
Porovnání Pavel Kordík, Jan Motl (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 6 25/25 Závěrečné porovnání algoritmů 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? Zvládá spojité vstupy? Kritérium výběru atributu Kritérium prořezávání Interaktivní tvorba stromu Ne Ano Ne Ano Ano Ne Ano Ano Informační zisk Chi-kvadrát F test pro spojité proměnné Limit chyby Hlídá přeučení statistické Regularizace složitosti Ne Ano Ano Ano Gini index (čistota rozdělení, variabilita) Regularizace složitosti