Přednáška k rozhodovacím stromům

Download Report

Transcript Přednáška k rozhodovacím stromům

Rozhodovací stromy
11.4.2012
(c) 2012 Tomáš Kliegr
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
Dobývání znalostí z databází –
příklady úloh

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

…
3
Metodika CRISP DM
4
Praktické zkušenosti
• 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
5
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á
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.
Představení
Den
Předpověď
Teplota
Vlhkost
Vítr
D1
Jasno
Horko
Vysoká
Slabý
D2
Jasno
Horko
Vysoká
Silný
D3
Zataženo
Horko
Vysoká
Slabý
Ano
D4
Déšť
Příjemně
Vysoká
Slabý
Ano
D5
Déšť
Chladno
Normální Slabý
Ano
D6
Déšť
Chladno
Normální Silný
Ne
D7
Zataženo
Chladno
Normální Silný
Ano
D8
Jasno
Příjemně
Vysoká
Ne
D9
Jasno
Chladno
Normální Slabý
Ano
D10
Déšť
Příjemně
Normální Slabý
Ano
D11
Jasno
Příjemně
Normální Silný
Ano
D12
Zataženo
Příjemně
Vysoká
Ano
D13
Zataženo
Horko
Normální Slabý
Ano
D14
Déšť
Příjemně
Vysoká
Ne
Slabý
Silný
Silný
Hrát tenis
Cílová
Ne
proměnná
Ne
Představení
• Jeden z nejpoužívanějších klasifikačních
algoritmů
Předpověď
Déšť
Jasno
Zataženo
Vítr
Vlhkost
Vysoká
Ne
Normální
Ano
Ano
Silný
Ne
Slabý
Ano
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)
Top Down Induction Of Decision
Trees (TDIDT)
Princip „rozděl a panuj“
• Pro každou proměnnou Ai
– Rozděl všechny vstupní záznamy na dvě nebo více
skupin dle hodnot
– Spočítej dobrotu (goodness) pro Ai - 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
Příklad
Den
Předpověď
Teplota
Vlhkost
Vítr
Hrát tenis
D1
Jasno
Horko
Vysoká
Slabý
Ne
D2
Jasno
Horko
Vysoká
Silný
Ne
D3
Zataženo
Horko
Vysoká
Slabý
Ano
D4
Déšť
Příjemně
Vysoká
Slabý
Ano
D5
Déšť
Chladno
Normální Slabý
Ano
D6
Déšť
Chladno
Normální Silný
Ne
D7
Zataženo
Chladno
Normální Silný
Ano
D8
Jasno
Příjemně
Vysoká
Ne
D9
Jasno
Chladno
Normální Slabý
Ano
D10
Déšť
Příjemně
Normální Slabý
Ano
D11
Jasno
Příjemně
Normální Silný
Ano
D12
Zataženo
Příjemně
Vysoká
Ano
D13
Zataženo
Horko
Normální Slabý
Ano
D14
Déšť
Příjemně
Vysoká
Ne
Slabý
Silný
Silný
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ů
• …
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
žádný „backtracking“
• 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
Algoritmy
•
•
•
•
entropie
ID3 (Quinlan 1986)
entropie
C4.5 (Quinlan 1993)
CART (Breiman et al 1984)
Chi kvadrát
CHAID
test
Klíčovým rozdílem je definice
goodness – způsob výběru
algoritmu pro větvení
Informační zisk
Poměrný
informační
zisk
GINI Index
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ěď
Déšť
Jasno
Zataženo
Vítr
Vlhkost
Vysoká
Ne
Normální
Ano
Ano
Silný
Ne
Slabý
Ano
Entropie
V teorii informace je entropie definovaná jako funkce
c
Entropie( S )   ( pt log2 pt )
t 1
v teorii informace
pt
c
v kontextu rozhodovacích stromů
pravděpodobnost výskytu třídy t
Poměr počtu instancí s hodnotou
cílového atributu t na počtu všech
instancí
je počet tříd
Počet různých hodnot cílového
atributu
Minimální počet bitů, který
je potřeba pro zakódování
klasifikace libovolného
prvku S
Entropie měří homogenitu
příkladů
Entropie - příklad
Klasifikace do dvou tříd množiny se 14 instancemi
c
Entropie( S )   ( pt log2 pt )
i 1
 ( p Ano log2 p Ano  p Ne log2 p Ne )
 (9 / 14) log2 (9 / 14)  (5 / 14) log2 (5 / 14)
 0.940
id
p
1
Ne
2
Ne
3
Ano
4
Ano
5
Ano
6
Ne
7
Ano
8
Ne
9
Ano
10
Ano
11
Ano
12
Ano
13
Ano
14
Ne
Množina S
| p Ano | 9
| p Ne | 5
Entropie - příklad
1
0.9
0.8
0.7
0.6
Entropie
0.5
0.4
0.3
0.2
0.1
0
Poměr pozitivních instancí vůči všem instancím
Pro výpočet se předpokládá,
že log2(0) = 0
Kvíz 1
• Jaká je maximální hodnota entropie v
obecném případě (třídy nejsou dvě, ale je
jich c)?
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.
Sv
Zisk ( S , A)  Entropie( S ) 
Entropie( Sv )

vHodnoty ( A) S
Hodnoty(A)
množina všech hodnot atributu A
Sv
podmnožina S pro kterou má atribut A hodnotu v
Zisk (S , A)
Očekávané snížení entropie na základě znalosti hodnot
atributu A
Informační zisk - příklad
Sv
Zisk ( S ,Vítr )  Entropie( S ) 
Entropie( Sv )

vHodnoty (Vítr ) S
Entropie(S )  0.940
S  14
Hodnoty (Vítr )  {Slabý, Silný}
Entropie( SSlabý )  ?
SSlabý  ?
Entropie( SSilný )  ?
SSilný  ?
Den
…
Vítr
Hrát
tenis
D1
Slabý
Ne
D2
Silný
Ne
D3
Slabý
Ano
Entropie(SSlabý ) 
D4
Slabý
Ano
D5
Slabý
Ano
 ( p Ano log2 p Ano  pNe log2 pNe )
D6
Silný
Ne
D7
Silný
Ano
D8
Slabý
Ne
D9
Slabý
Ano
D10
Slabý
Ano
D11
Silný
Ano
D12
Silný
Ano
D13
Slabý
Ano
D14
Silný
Ne
SSlabý  8
| p Ano | 6
| p Ne | 2
Entropie( SSlabý ) 
 ( p Ano log 2 p Ano  p Ne log 2 p Ne )
 (6 / 8) log 2 (6 / 8)  (2 / 8) log 2 (2 / 8)
 0.811278
Den
…
SSilný  6
Vítr
Hrát
tenis
D1
Slabý
Ne
D2
Silný
Ne
D3
Slabý
Ano
D4
Slabý
Ano
D5
Slabý
Ano
D6
Silný
Ne
D7
Silný
Ano
D8
Slabý
Ne
 ( p Ano log2 p Ano  p Ne log2 p Ne )
D9
Slabý
Ano
 (3 / 6) log2 (3 / 6)  (3 / 6) log2 (3 / 6)
D10
Slabý
Ano
 1.0
D11
Silný
Ano
D12
Silný
Ano
D13
Slabý
Ano
D14
Silný
Ne
Entropie(SSilný ) 
Entropie( SSilný ) 
| p Ano | 3
| p Ne | 3
Dosazení entropie do vzorce
pro informační zisk
Sv
Zisk ( S ,Vítr )  Entropie( S ) 
Entropie( Sv )

vHodnoty (Vítr ) S
8
6
 Entropie( S )  Entropie( SSlabý )  Entropie( SSilný )
14
14
 0.940  (8 / 14)0.811  (6 / 14)1.0  0.048
• Získali jsme informační zisk pro atribut
Vítr. Jaký bude informační zisk pro další
atributy?
Výběr atributu pro větvení
Zisk ( S , Vítr )  0.048
Vybíráme Předpověď.
Zisk ( S , Predpoved)  0.247
Zisk ( S , Teplota )  0.029
Zisk ( S , Vlhkost)  0.151
| p Ano | 2
| p Ne | 3
?
Jasno
Předpověď
Zataženo
| p Ano | 4
| p Ne | 0
Ano
Déšť
| p Ano | 3
| pNe | 2
?
Den
Předpověď
Teplota
Vlhkost
Vítr
Hrát tenis
D1
Jasno
Horko
Vysoká
Slabý
Ne
D2
Jasno
Horko
Vysoká
Silný
Ne
D8
Jasno
Příjemně
Vysoká
Slabý
Ne
D9
Jasno
Chladno
Normální Slabý
Ano
D11
Jasno
Příjemně
Normální Silný
Ano
Zisk ( S Jasno , Vítr)  ?
c
Entropie( S Jasno )   ( pt log2 pt )
i 1
Zisk ( S Jasno , T eplota)  ?
 ( p Ano log2 p Ano  p Ne log2 p Ne )
 (2 / 5) log2 (2 / 5)  (3 / 5) log2 (3 / 5)
Zisk ( S Jasno , Vlhkost)  ?
 0.97095
Den
Předpověď
Teplota
Vlhkost
Vítr
Hrát tenis
D1
Jasno
Horko
Vysoká
Slabý
Ne
D2
Jasno
Horko
Vysoká
Silný
Ne
D8
Jasno
Příjemně
Vysoká
Slabý
Ne
D9
Jasno
Chladno
Normální Slabý
Ano
D11
Jasno
Příjemně
Normální Silný
Ano
3
2
Zisk ( S Jasno , Vlhkost)  0.97095 0.0  0.0  0.97095
5
5
2
2
Zisk ( S Jasno , T eplot a)  0.97095 0.0  1.0  0.57095
5
5
2
3
Zisk ( S Jasno , Vít r)  0.97095 1.0  0.9183 0.1997
5
5
Výběr atributu pro větvení
Předpověď
| p Ano | 2
| p Ne | 3
Jasno
Zataženo
| p Ano | 4
| p Ne | 0
Vlhkost
Vysoká
Ano
Normální
| p Ano | 0
| p Ano | 2
| pNe | 3
| pNe | 0
Ne
Ano
Déšť
| p Ano | 3
| pNe | 2
?
Den
Předpověď
Teplota
Vlhkost
Vítr
Hrát tenis
D4
Déšť
Příjemně
Vysoká
Slabý
Ano
D5
Déšť
Chladno
Normální Slabý
Ano
D6
Déšť
Chladno
Normální Silný
Ne
D10
Déšť
Příjemně
Normální Slabý
Ano
D14
Déšť
Příjemně
Vysoká
Ne
Silný
2
3
Zisk ( S Dest , Vlhkost)  0.97095 1.0  0.9183 0.1997
5
5
3
2
Zisk ( S Dest , T eplota)  0.97095 0.9183 1.0  0.1997
5
5
2
3
Zisk ( S Dest , Vítr)  0.97095 0.0  0.0  0.97095
5
5
Výsledný strom
Předpověď
| p Ano | 2
| p Ne | 3
Jasno
Zataženo
| p Ano | 4
| p Ne | 0 Entropie 0
Vlhkost
Ano
| pNe | 2
Vítr
Ano
Vysoká
Normální
Entropie 0
| p Ano | 0
| p Ano | 2
| pNe | 3
| pNe | 0
Ne
Déšť
| p Ano | 3
| p Ano | 0
Silný
| pNe | 2
Entropie 0
Ne
Slabý
| p Ano | 3
| pNe | 0
Entropie 0
Ano
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á.
Příklad
Den
Předpověď
Teplota
Vlhkost
Vítr
Hrát tenis
D1
Jasno
Horko
Vysoká
Slabý
Ne
D2
Jasno
Horko
Vysoká
Silný
Ne
D3
Zataženo
Horko
Vysoká
Slabý
Ano
D4
Déšť
Příjemně
Vysoká
Slabý
Ano
D5
Déšť
Chladno
Normální
Slabý
Ano
D6
Déšť
Chladno
Normální
Silný
Ne
D7
Zataženo
Chladno
Normální
Silný
Ano
D8
Jasno
Příjemně
Vysoká
Slabý
Ne
D9
Jasno
Chladno
Normální
Slabý
Ano
D10
Déšť
Příjemně
Normální
Slabý
Ano
D11
Jasno
Příjemně
Normální
Silný
Ano
D12
Zataženo
Příjemně
Vysoká
Silný
Ano
D13
Zataženo
Horko
Normální
Slabý
Ano
D14
Déšť
Příjemně
Vysoká
Silný
Ne
Den
Předpověď
Teplota
Vlhkost
Vítr
Hrát tenis
Test1
Jasno
Horko
Normální Silný
?
Den
Předpověď
Teplota
Vlhkost
Test1
Jasno
Horko
Normální Silný
Vítr
Hrát tenis
?
Předpověď
Déšť
Jasno
Zataženo
Vítr
Vlhkost
Vysoká
Ano
Normální
Ne
Silný
Ano
Slabý
Ano
Ne
Den
Předpověď
Teplota
Vlhkost
Test1
Jasno
Horko
Normální Silný
Vítr
Hrát tenis
Ano
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
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
Předpověď
Déšť
Jasno
Zataženo
Vítr
Vlhkost
Vysoká
Ne
Normální
Ano
Ano
Silný
Ne
Slabý
Ano
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)
Problémy - Šum
• Vytvoření rozhodovacího strom, který bezchybně
klasifikuje data z tréningové množiny není vždy možné
Předpověď
Teplota
Vlhkost
Vítr
Hrát tenis
Jasno
Horko
Vysoká
Slabý
Ne
..
…
…
…
..,
Déšť
Příjemně
Vysoká
Silný
Ne
Déšť
Příjemně
Vysoká
Silný
Ano
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 ID
Den v
týdnu
Předpov
ěď
Teplota
Vlhkost
Vítr
Hrát tenis
D1
pondělí
Jasno
Horko
Vysoká
Slabý
Ne
..
…
…
…
..,
…
D14
pondělí
Déšť
Příjemně
Vysoká
Silný
Ne
D15
úterý
Déšť
Příjemně
Vysoká
Silný
Ano
Den v týdnu
pondělí
Ne
…
Ne
úterý
Ano
Extrémní případ
přeučeného
klasifikačního
modelu
Kvíz 3
• Jaký atribut si vybere rozhodovací strom vytvářený
pomocí algoritmu ID3 jako kořenový?
Den ID
Den v týdnu
Předpověď
Teplota
Vlhkost
Vítr
Hrát tenis
D1
pondělí
Jasno
Horko
Vysoká
Slabý
Ne
..
…
…
…
..,
…
D14
pondělí
Déšť
Příjemně
Vysoká
Silný
Ne
D15
úterý
Déšť
Příjemně
Vysoká
Silný
Ano
Neuvažujte cílový atribut jako možný prediktor
Přeučení
Pokud má rozhodovací strom
• Na trénovacích instancích chybu errortrain (m)
• Na celém rozdělení instancí (na všech instancích i mimo
trénovací množinu) D chybu errorD (m)
Pak strom m je přeučený vzhledem k trénovacím datům,
pokud existuje alternativní strom m’, pro který platí
errortrain (m)  errortrain (m' )
errorD (m)  errorD (m' )
Důsledek přeučení
Zdroj: Mitchell 97
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í.
Předpověď
Jasno
Den
Předpověď
Teplota
Vlhkost
Vítr
Hrát tenis
D1
Jasno
Horko
Vysoká
Slabý
Ne
….
….
….
….
….
….
D9
Jasno
Chladno
Normální
Slabý
Ano
D11
Jasno
Příjemně
Normální
Silný
Ano
D15
Jasno
Horko
Normální
Silný
Ne
Vlhkost
Vysoká
Ne
Normální
Ano
Tato instance by byla
stromem špatně
zaklasifikována
Instance 15 představuje šum, protože správná třída je +
Příčiny přeučení - příklad
Předpověď
Jasno
Den
Předpověď
Teplota
Vlhkost
Vítr
Hrát tenis
D1
Jasno
Horko
Vysoká
Slabý
Ne
….
….
….
….
….
….
D9
Jasno
Chladno
Normální
Slabý
Ano
D11
Jasno
Příjemně
Normální
Silný
Ano
D15
Jasno
Horko
Normální
Silný
Ne
Vlhkost
Vysoká
Normální
Ne
Teplota
Horko
Ne
Příjemně
Ano
Chladno
Ano
Nově upravený strom na základě
inkrementálního učení
Perfektní klasifikace na
trénovacích datech, ale na
testovacích datech lze
očekávat horší výsledky
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.
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
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í.
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 pravidla
Př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í
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
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í
Vlhkost
Vysoká Normální
část (dole)
• Vertikální čára rozděluje atributy od
Vítr
Silný
Slabý
jejich hodnot
Hrát ANO
x
x
x
• Pomlčka značí, že hodnota sloupce
je irelevantní
Hrát NE
x
x
• X v akční části značí závěr při
Každý sloupec odpovídá jednomu pravidlu splnění podmínek
Předpověď
Jasno
Jasno
Zataženo
Déšť
Déšť
Rozhodovací tabulky
• Úplnost – pokrývá všechny možné
kombinace podmínek
• Exkluzivita – žádná kombinace není
pokryta více jak jedním sloupcem
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é
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
Literatura
•
•
•
Petr Berka. Dobývání znalostí z databází. Academia. 2003
Tom Mitchell, Machine Learning. McGraw-Hill, 1997.
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):
141-154 (2011)