Drzewa decyzyjne
Przykład
Czy Tomek zagra w tenisa? - oszacuj
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis
D1 Słonecznie Gorąco Wysoka Słaby Nie
D2 Słonecznie Gorąco Wysoka Silny Nie
D3 Pochmurnie Gorąco Wysoka Słaby Tak
D4 Deszcz Przyjemnie Wysoka Słaby Tak
D5 Deszcz Zimno Normalna Słaby Tak
D6 Deszcz Zimno Normalna Silny Nie
D7 Pochmurnie Zimno Normalna Silny Tak D8 Słonecznie Przyjemnie Wysoka Słaby Nie D9 Słonecznie Zimno Normalna Słaby Tak D10 Deszcz Przyjemnie Normalna Słaby Tak D11 Słonecznie Przyjemnie Normalna Silny Tak D12 Pochmurnie Przyjemnie Wysoka Silny Tak D13 Pochmurnie Gorąco Normalna Słaby Tak D14 Deszcz Przyjemnie Wysoka Silny Nie Nowy obiekt:
D15 Deszcz Zimno Wysoka Słaby ????
Budowa drzew decyzyjnych
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis
D3 Pochmurnie Gorąco Wysoka Słaby Tak
D7 Pochmurnie Zimno Normalna Silny Tak D12 Pochmurnie Przyjemnie Wysoka Silny Tak D13 Pochmurnie Gorąco Normalna Słaby Tak
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis
D3 Pochmurnie Gorąco Wysoka Słaby Tak
D13 Pochmurnie Gorąco Normalna Słaby Tak
D1 Słonecznie Gorąco Wysoka Słaby Nie
D2 Słonecznie Gorąco Wysoka Silny Nie
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis D9 Słonecznie Zimno Normalna Słaby Tak
D11 Słonecznie Przyjemnie Normalna Silny Tak
D1 Słonecznie Gorąco Wysoka Słaby Nie
D2 Słonecznie Gorąco Wysoka Silny Nie
Budowa drzew decyzyjnych
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis
D3 Pochmurnie Gorąco Wysoka Słaby Tak
D4 Deszcz Przyjemnie Wysoka Słaby Tak
D12 Pochmurnie Przyjemnie Wysoka Silny Tak
D1 Słonecznie Gorąco Wysoka Słaby Nie
D2 Słonecznie Gorąco Wysoka Silny Nie
D8 Słonecznie Przyjemnie Wysoka Słaby Nie D14 Deszcz Przyjemnie Wysoka Silny Nie
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis D7 Pochmurnie Zimno Normalna Silny Tak
D11 Słonecznie Przyjemnie Normalna Silny Tak D12 Pochmurnie Przyjemnie Wysoka Silny Tak
D2 Słonecznie Gorąco Wysoka Silny Nie
D6 Deszcz Zimno Normalna Silny Nie
D14 Deszcz Przyjemnie Wysoka Silny Nie
Budowa drzew decyzyjnych
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis D9 Słonecznie Zimno Normalna Słaby Tak D11 Słonecznie Przyjemnie Normalna Silny Tak D1 Słonecznie Gorąco Wysoka Słaby Nie D2 Słonecznie Gorąco Wysoka Silny Nie D8 Słonecznie Przyjemnie Wysoka Słaby Nie
Budowa drzew decyzyjnych
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis D9 Słonecznie Zimno Normalna Słaby Tak D11 Słonecznie Przyjemnie Normalna Silny Tak D1 Słonecznie Gorąco Wysoka Słaby Nie D2 Słonecznie Gorąco Wysoka Silny Nie D8 Słonecznie Przyjemnie Wysoka Słaby Nie
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis D3 Pochmurnie Gorąco Wysoka Słaby Tak D7 Pochmurnie Zimno Normalna Silny Tak D12 Pochmurnie Przyjemnie Wysoka Silny Tak D13 Pochmurnie Gorąco Normalna Słaby Tak
Budowa drzew decyzyjnych
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis D9 Słonecznie Zimno Normalna Słaby Tak D11 Słonecznie Przyjemnie Normalna Silny Tak D1 Słonecznie Gorąco Wysoka Słaby Nie D2 Słonecznie Gorąco Wysoka Silny Nie D8 Słonecznie Przyjemnie Wysoka Słaby Nie
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis D3 Pochmurnie Gorąco Wysoka Słaby Tak D7 Pochmurnie Zimno Normalna Silny Tak D12 Pochmurnie Przyjemnie Wysoka Silny Tak D13 Pochmurnie Gorąco Normalna Słaby Tak
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis D4 Deszcz Przyjemnie Wysoka Słaby Tak D5 Deszcz Zimno Normalna Słaby Tak D10 Deszcz Przyjemnie Normalna Słaby Tak D6 Deszcz Zimno Normalna Silny Nie D14 Deszcz Przyjemnie Wysoka Silny Nie
Budowa drzew decyzyjnych
Budowa drzew decyzyjnych
Budowa drzew decyzyjnych
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis D9 Słonecznie Zimno Normalna Słaby Tak D11 Słonecznie Przyjemnie Normalna Silny Tak D1 Słonecznie Gorąco Wysoka Słaby Nie D2 Słonecznie Gorąco Wysoka Silny Nie D8 Słonecznie Przyjemnie Wysoka Słaby Nie
Budowa drzew decyzyjnych
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis D1 Słonecznie Gorąco Wysoka Słaby Nie D2 Słonecznie Gorąco Wysoka Silny Nie D8 Słonecznie Przyjemnie Wysoka Słaby Nie
Wilgotność: wysoka
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis D9 Słonecznie Zimno Normalna Słaby Tak D11 Słonecznie Przyjemnie Normalna Silny Tak
Wilgotność: normalna
Budowa drzew decyzyjnych
Budowa drzew decyzyjnych
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis D4 Deszcz Przyjemnie Wysoka Słaby Tak D5 Deszcz Zimno Normalna Słaby Tak D10 Deszcz Przyjemnie Normalna Słaby Tak D6 Deszcz Zimno Normalna Silny Nie D14 Deszcz Przyjemnie Wysoka Silny Nie
Budowa drzew decyzyjnych
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis D4 Deszcz Przyjemnie Wysoka Słaby Tak D5 Deszcz Zimno Normalna Słaby Tak D10 Deszcz Przyjemnie Normalna Słaby Tak
Wiatr: słaby
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis D6 Deszcz Zimno Normalna Silny Nie D14 Deszcz Przyjemnie Wysoka Silny Nie
Wiatr: silny
Budowa drzew decyzyjnych
Wracamy do pytania – jak zostanie sklasyfikowany nowy obiekt
D15 Deszcz Zimno Wysoka Słaby ????
Entropia
n
i
i
i p
p S
E
1
log 2
E – entropia zbioru danych S – zbiór danych
P – proporcja danej kategorii w zbiorze względem reszty kategorii
Entropia w ramach teorii informacji jest definiowana jako średnia
ilość informacji (liczba bitów), przypadająca na znak symbolizujący
zajście zdarzenia z pewnego zbioru.
Przyrost informacji (information gain)
Przyrost informacji może być rozumiany jako oczekiwane zmniejszenie entropii spowodowane znajomością wartości jednego z atrybutów. Jest on zdefiniowany następująco:
v
A Values v
v E S S
S S E A
S
G
,
G – przytost informacji
E – entropia zbioru danych A – atrubut o znanej wartości S – zbiór danych
S
v– zbiór pomniejszony o wektory z inną wartością atrybutu A
Budowa drzew decyzyjnych
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis D9 Słonecznie Zimno Normalna Słaby Tak D11 Słonecznie Przyjemnie Normalna Silny Tak D1 Słonecznie Gorąco Wysoka Słaby Nie D2 Słonecznie Gorąco Wysoka Silny Nie D8 Słonecznie Przyjemnie Wysoka Słaby Nie
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis D3 Pochmurnie Gorąco Wysoka Słaby Tak D7 Pochmurnie Zimno Normalna Silny Tak D12 Pochmurnie Przyjemnie Wysoka Silny Tak D13 Pochmurnie Gorąco Normalna Słaby Tak
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis D4 Deszcz Przyjemnie Wysoka Słaby Tak D5 Deszcz Zimno Normalna Słaby Tak D10 Deszcz Przyjemnie Normalna Słaby Tak D6 Deszcz Zimno Normalna Silny Nie D14 Deszcz Przyjemnie Wysoka Silny Nie
Przykład tworzenia drzewa decyzyjnego – algorytm ID3
Decyzja (kategoria) Liczba wystąpień
Tak 9
Nie 5
n tak tak nie nie
i
i
i p p p p p
p S
E 2 2
1
2 log log
log
64 . 14 0
9
tak
p 0 . 36
14 5
nie p
S 0 . 64 log 2 0 . 64 0 . 36 log 2 0 . 36
E
S 0 . 94
E
Algorytm ID3 - przyrost informacji atrybutu pogody
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis
D4 Deszcz Przyjemnie Wysoka Słaby Tak
D5 Deszcz Zimno Normalna Słaby Tak
D10 Deszcz Przyjemnie Normalna Słaby Tak
D6 Deszcz Zimno Normalna Silny Nie
D14 Deszcz Przyjemnie Wysoka Silny Nie
Liczba 5
D3 Pochmurnie Gorąco Wysoka Słaby Tak
D7 Pochmurnie Zimno Normalna Silny Tak
D12 Pochmurnie Przyjemnie Wysoka Silny Tak D13 Pochmurnie Gorąco Normalna Słaby Tak
Liczba 4
D9 Słonecznie Zimno Normalna Słaby Tak
D11 Słonecznie Przyjemnie Normalna Silny Tak
D1 Słonecznie Gorąco Wysoka Słaby Nie
D2 Słonecznie Gorąco Wysoka Silny Nie
D8 Słonecznie Przyjemnie Wysoka Słaby Nie
Algorytm ID3 - przyrost informacji atrybutu pogody
Pogoda Liczba wystąpień Tak Nie
Deszcz 5 3 2
Słonecznie 5 2 3
Pochmurnie 4 4 0
S
deszcz 0 . 6 log
2 0 . 6 0 . 4 log
2 0 . 4 0 . 97
E
S pochmurnie 1 . 0 log 2 1 . 0 0 log 2 0 0 E
S
slonecznie 0 . 4 log
2 0 . 4 0 . 6 log
2 0 . 6 0 . 97
E
Algorytm ID3 - przyrost informacji atrybutu pogody
v
Pogoda Values
v
v
E S S
S S E Pogoda
S G ,
pochmurnie
pochmurnie slonecznie
slonecznie deszcz
deszcz
S S E
S S S E
S S S E
S S
E
0 0 . 25
14 97 4
. 14 0 97 5
. 14 0 94 5
. 0
, Pogoda
S
G
Algorytm ID3 - przyrost informacji atrybutu temperatury
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis
D3 Pochmurnie Gorąco Wysoka Słaby Tak
D13 Pochmurnie Gorąco Normalna Słaby Tak
D1 Słonecznie Gorąco Wysoka Słaby Nie
D2 Słonecznie Gorąco Wysoka Silny Nie
Liczba 4
D4 Deszcz Przyjemnie Wysoka Słaby Tak
D10 Deszcz Przyjemnie Normalna Słaby Tak D12 Pochmurnie Przyjemnie Wysoka Silny Tak D11 Słonecznie Przyjemnie Normalna Silny Tak
D14 Deszcz Przyjemnie Wysoka Silny Nie
D8 Słonecznie Przyjemnie Wysoka Słaby Nie
Liczba 6
D5 Deszcz Zimno Normalna Słaby Tak
D7 Pochmurnie Zimno Normalna Silny Tak
D9 Słonecznie Zimno Normalna Słaby Tak
D6 Deszcz Zimno Normalna Silny Nie
Algorytm ID3 - przyrost informacji atrybutu temperatury
Temperatura Liczba wystąpień Tak Nie
Gorąco 4 2 2
Przyjemnie 6 4 2
Zimno 4 3 1
S goraco 0 . 5 log 2 0 . 5 0 . 5 log 2 0 . 5 1 E
S
zimno 0 . 75 log
2 0 . 75 0 . 25 log
2 0 . 25 0 . 81
E
S przyjemnie 0 . 67 log 2 0 . 67 0 . 33 log 2 0 . 33 0 . 91
E
Algorytm ID3 - przyrost informacji atrybutu temperatury
v
a Temperatur S
Values v
v
E S S
S S E a
Temperatur S
G
,
,
zimno
zimno przyjemnie
przyjemnie goraco
goraco
S S E
S S S E
S S S E
S S
E
0 . 81 0 . 033
14 91 4
. 14 0 1 6
14 94 4
. 0
, Temperatur a S
G
Algorytm ID3 - przyrost informacji atrybutu wilgotności
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis D13 Pochmurnie Gorąco Normalna Słaby Tak
D10 Deszcz Przyjemnie Normalna Słaby Tak D11 Słonecznie Przyjemnie Normalna Silny Tak
D5 Deszcz Zimno Normalna Słaby Tak
D7 Pochmurnie Zimno Normalna Silny Tak
D9 Słonecznie Zimno Normalna Słaby Tak
D6 Deszcz Zimno Normalna Silny Nie
Liczba 7
D3 Pochmurnie Gorąco Wysoka Słaby Tak
D4 Deszcz Przyjemnie Wysoka Słaby Tak
D12 Pochmurnie Przyjemnie Wysoka Silny Tak
D1 Słonecznie Gorąco Wysoka Słaby Nie
D2 Słonecznie Gorąco Wysoka Silny Nie
D14 Deszcz Przyjemnie Wysoka Silny Nie
D8 Słonecznie Przyjemnie Wysoka Słaby Nie
Liczba 7
Algorytm ID3 - przyrost informacji atrybutu wilgotności
Wilgotność Liczba wystąpień Tak Nie
Normalna 7 6 1
Wysoka 7 3 4
S
normalna 0 . 86 log
2 0 . 86 0 . 14 log
2 0 . 14 0 . 58
E
S wysoka 0 . 43 log 2 0 . 43 0 . 57 log 2 0 . 57 0 . 98
E
Algorytm ID3 - przyrost informacji atrybutu wilgotności
v
S Values v
v
E S S
S S E S
G
Wilgotnosc ,
Wilgotnosc ,
wysoka
wysoka normalna
normalna
S S E
S S S E
S S
E
0 . 98 0 . 16
14 58 7
. 14 0 94 7
. 0 Wilgotnosc
,
S
G
Algorytm ID3 - przyrost informacji atrybutu wiatru
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis D13 Pochmurnie Gorąco Normalna Słaby Tak
D10 Deszcz Przyjemnie Normalna Słaby Tak
D5 Deszcz Zimno Normalna Słaby Tak
D9 Słonecznie Zimno Normalna Słaby Tak
D3 Pochmurnie Gorąco Wysoka Słaby Tak
D4 Deszcz Przyjemnie Wysoka Słaby Tak
D1 Słonecznie Gorąco Wysoka Słaby Nie
D8 Słonecznie Przyjemnie Wysoka Słaby Nie Słaby Licznik 8 D11 Słonecznie Przyjemnie Normalna Silny Tak
D7 Pochmurnie Zimno Normalna Silny Tak
D12 Pochmurnie Przyjemnie Wysoka Silny Tak
D6 Deszcz Zimno Normalna Silny Nie
D2 Słonecznie Gorąco Wysoka Silny Nie
D14 Deszcz Przyjemnie Wysoka Silny Nie
Silny Licznik 6
Algorytm ID3 - przyrost informacji atrybutu wiatru
Wiatr Liczba wystąpień Tak Nie
Słaby 8 6 2
Silny 6 3 3
S slaby 0 . 75 log 2 0 . 75 0 . 25 log 2 0 . 25 0 . 81 E
S silny 0 . 5 log 2 0 . 5 0 . 5 log 2 0 . 5 1
E
Algorytm ID3 - przyrost informacji atrybutu wiatru
v
S Values v
v
E S S
S S E S
G
Wiatr ,
Wiatr ,
silnysilny slaby
slaby
S S E
S S S E
S S
E
1 0 . 08
14 75 6
. 14 0 94 8
. 0
, Wiatr S
G
Algorytm ID3 - przyrost informacji
S , Pogoda 0 . 25 G
S , Temperatur a 0 . 033
G
S , Wiatr 0 . 08
G
S , Wilgotnosc 0 . 16
G
Budowa drzew decyzyjnych
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis D9 Słonecznie Zimno Normalna Słaby Tak D11 Słonecznie Przyjemnie Normalna Silny Tak D1 Słonecznie Gorąco Wysoka Słaby Nie D2 Słonecznie Gorąco Wysoka Silny Nie D8 Słonecznie Przyjemnie Wysoka Słaby Nie
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis D3 Pochmurnie Gorąco Wysoka Słaby Tak D7 Pochmurnie Zimno Normalna Silny Tak D12 Pochmurnie Przyjemnie Wysoka Silny Tak D13 Pochmurnie Gorąco Normalna Słaby Tak
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis D4 Deszcz Przyjemnie Wysoka Słaby Tak D5 Deszcz Zimno Normalna Słaby Tak D10 Deszcz Przyjemnie Normalna Słaby Tak D6 Deszcz Zimno Normalna Silny Nie D14 Deszcz Przyjemnie Wysoka Silny Nie
Budowa drzew decyzyjnych
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis D9 Słonecznie Zimno Normalna Słaby Tak D11 Słonecznie Przyjemnie Normalna Silny Tak D1 Słonecznie Gorąco Wysoka Słaby Nie D2 Słonecznie Gorąco Wysoka Silny Nie D8 Słonecznie Przyjemnie Wysoka Słaby Nie
Budowa drzew decyzyjnych
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis D1 Słonecznie Gorąco Wysoka Słaby Nie D2 Słonecznie Gorąco Wysoka Silny Nie D8 Słonecznie Przyjemnie Wysoka Słaby Nie D11 Słonecznie Przyjemnie Normalna Silny Tak D9 Słonecznie Zimno Normalna Słaby Tak
= S
slonecznie S
slonecznie 0 . 4 log
2 0 . 4 0 . 6 log
2 0 . 6 0 . 97
E
Decyzja (kategoria) Liczba wystąpień
Tak 2
Nie 3
Algorytm ID3 - przyrost informacji atrybutu temperatury
Temperatura Liczba wystąpień Tak Nie
Gorąco 2 0 2
Przyjemnie 2 1 1
Zimno 1 1 0
S goraco log 2 1 0 log 2 0 0
E
S
zimno 1 log
2 1 0 log
2 0 0
E
S przyjemnie 0 . 5 log 2 0 . 5 0 . 5 log 2 0 . 5 1
E
0 0 . 57
5 1 1 5 0 2
5 97 2
. 0 a
Temperatur
slonecznie
,
S
G
Algorytm ID3 - przyrost informacji atrybutu wilgotności
Wilgotność Liczba wystąpień Tak Nie
Normalna 2 2 0
Wysoka 3 0 3
S
normalna log
2 1 0 log
2 0 0
E
0 0 . 97
5 0 3
5 97 2
. 0 Wilgotnosc
slonecznie
,
S G
S wysoka 0 log 2 0 1 log 2 1 0
E
Algorytm ID3 - przyrost informacji atrybutu wiatru
Wiatr Liczba wystąpień Tak Nie
Słaby 3 1 2
Silny 2 1 1
S slaby 0 . 33 log 2 0 . 33 0 . 67 log 2 0 . 67 0 . 91
E
1 0 . 024
5 91 2
. 5 0 97 3
. 0 Wiatr
slonecznie
,
S G
S silny 0 . 5 log 2 0 . 5 0 . 5 log 2 0 . 5 1
E
Tytuł slajdu
0 0 . 57
5 1 1 5 0 2
5 97 2
. 0 a
Temperatur
slonecznie
,
S G
0 0 . 97
5 0 3
5 97 2
. 0 Wilgotnosc
slonecznie
,
S G
1 0 . 024
5 91 2
. 5 0 97 3
. 0 Wiatr
slonecznie
,
S
G
Budowa drzew decyzyjnych
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis D1 Słonecznie Gorąco Wysoka Słaby Nie D2 Słonecznie Gorąco Wysoka Silny Nie D8 Słonecznie Przyjemnie Wysoka Słaby Nie
Wilgotność: wysoka
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis D9 Słonecznie Zimno Normalna Słaby Tak D11 Słonecznie Przyjemnie Normalna Silny Tak
Wilgotność: normalna
Budowa drzew decyzyjnych
Dzień Pogoda Temperatura Wilgotność Wiatr Tenis D4 Deszcz Przyjemnie Wysoka Słaby Tak D5 Deszcz Zimno Normalna Słaby Tak D10 Deszcz Przyjemnie Normalna Słaby Tak D6 Deszcz Zimno Normalna Silny Nie D14 Deszcz Przyjemnie Wysoka Silny Nie
Budowa drzew decyzyjnych
Współczynnik przyrostu informacji - Gain ratio
v
A Values v
v E S S
S S E A
S
G
,
S
S S
A S S
I v
A Values v
v
log 2
,
S A
I
A S A G
S
GR ,
, ,
Information Gain i Gain Ratio - porównanie
S , Pogoda 0 . 25
G
S , Temperatur a 0 . 033
G
S , Wiatr 0 . 08
G
S , Wilgotnosc 0 . 16
G
S , Pogoda 0 . 16
GR
S , Temperatur a 0 . 02
GR
S , Wiatr 0 . 05
GR
S , Wilgotnosc 0 . 15
GR
Gini gain
n
i
p i
S
1
1 2
Gini
n i
i
i S
S A S
S , Gini Gini
1
Gdzie:
Gini(S) – gini index, miara nieczystości (zamiast entropii)
Gini(S,A) – gini gain
Kryterium Twoing
Maksymalizujemy:
| |
2) 4
(
i
R L
R
L