background image

Drzewa decyzyjne

Jacek Kluska

Politechnika Rzeszowska

2010

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

1 / 35

background image

Przyk÷

ad drzewa

Nr

Aura

Temperatura

Wilgotno´s´c

Wiatr

Klasa

1

oneczna

wysoka

du·

za

nie

0

2

oneczna

wysoka

du·

za

tak

0

3

pochmurna

wysoka

du·

za

nie

1

4

deszczowa

´srednia

du·

za

nie

1

5

deszczowa

niska

normalna

nie

1

6

deszczowa

niska

normalna

tak

0

7

pochmurna

niska

normalna

tak

1

8

oneczna

´srednia

du·

za

nie

0

9

oneczna

niska

normalna

nie

1

10

deszczowa

´srednia

normalna

nie

1

11

oneczna

´srednia

normalna

tak

1

12

pochmurna

´srednia

du·

za

tak

1

13

pochmurna

wysoka

normalna

nie

1

14

deszczowa

´srednia

du·

za

tak

0

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

2 / 35

background image

Przyk÷

ad drzewa - rozwi ¾

azanie

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

3 / 35

background image

Przyk÷

ad - regu÷

y wynikaj ¾

ace z drzewa

Nr

Aura

Temperatura

Wilgotno´s´c

Wiatr

Klasa

1

oneczna

wysoka

du·

za

nie

0

2

oneczna

wysoka

du·

za

tak

0

3

pochmurna

wysoka

du·

za

nie

1

4

deszczowa

´srednia

du·

za

nie

1

5

deszczowa

niska

normalna

nie

1

6

deszczowa

niska

normalna

tak

0

7

pochmurna

niska

normalna

tak

1

8

oneczna

´srednia

du·

za

nie

0

9

oneczna

niska

normalna

nie

1

10

deszczowa

´srednia

normalna

nie

1

11

oneczna

´srednia

normalna

tak

1

12

pochmurna

´srednia

du·

za

tak

1

13

pochmurna

wysoka

normalna

nie

1

14

deszczowa

´srednia

du·

za

tak

0

R

1

: If Aura = pochmurna, then Klasa = 1

(4 przypadki)

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

4 / 35

background image

Przyk÷

ad - regu÷

y wynikaj ¾

ace z drzewa - c.d.

Nr

Aura

Temperatura

Wilgotno´s´c

Wiatr

Klasa

1

oneczna

wysoka

du·

za

nie

0

2

oneczna

wysoka

du·

za

tak

0

3

pochmurna

wysoka

du·

za

nie

0

4

deszczowa

´srednia

du·

za

nie

1

5

deszczowa

niska

normalna

nie

1

6

deszczowa

niska

normalna

tak

0

7

pochmurna

niska

normalna

tak

1

8

oneczna

´srednia

du·

za

nie

0

9

oneczna

niska

normalna

nie

1

10

deszczowa

´srednia

normalna

nie

1

11

oneczna

´srednia

normalna

tak

1

12

pochmurna

´srednia

du·

za

tak

1

13

pochmurna

wysoka

normalna

nie

1

14

deszczowa

´srednia

du·

za

tak

0

R

2

: If Aura = s÷

oneczna,

^

Wilgotno´s´c = du·

za, then Klasa = 0

(3

przypadki)

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

5 / 35

background image

Rekurencyjna de…nicja drzewa decyzyjnego

X - dziedzina atrybutów a

1

, . . . , a

n

.

C - zbiór kategorii.
R

t

-

f

r

1

, . . . , r

m

g

- zbiór mo·

zliwych wyników testu t.

Drzewo

1

Li´s´c z etykiet ¾

a d

2

C jest drzewem decyzyjnym.

2

Je´sli t : X

!

R

t

jest testem przeprowadzonym na warto´sciach

atrybutów przyk÷

adów o zbiorze mo·

zliwych wyników R

t

oraz

T

1

, . . . , T

m

s ¾

a drzewami decyzyjnymi, to w ¾

eze÷zawieraj ¾

acy test t, z

którego wychodzi m ga÷¾

ezi, przy czym dla i

=

1, . . . , m ga÷¾

a´z i -ta

odpowiada wynikowi r

i

i prowadzi do drzew T

t

, jest drzewem

decyzyjnym.

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

6 / 35

background image

Za÷

zenia: zmienne, klasy, typy zmiennych, kategorie

Zmienne = {Aura, Temperatura, Wilgotno´s´c, Wiatr, Klasa}

Zmienne s ¾

a ze zbioru sko´nczonego (categorical) - nie s ¾

a “ci ¾

ag÷

e".

Zmienne predykcyjne (predictors) = Atrybuty = {Aura, Temperatura,
Wilgotno´s´c, Wiatr}

Zmienne docelowe (target) = {Klasa}

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

7 / 35

background image

Zst ¾

epuj ¾

aca budowa drzewa decyzyjnego (Top-Down

Induction of Decision Trees)

funkcja buduj_drzewo

(

P, d , S

)

P - zbiór przyk÷

adów etykietowanych kategoriami c,

Np. dla c

=

1 mamy P

1

, dla c

=

0 mamy P

0

,

P dotyczy ka·

zdej kolumny, np. dla c

=

1 i atrybutu “Aura” jest

P

1

Aura

=

P

1

Aura_sloneczna

[

P

1

Aura_pochmurna

[

P

1

Aura_deszczowa

d - etykieta kategorii,

S - zbiór mo·

zliwych testów;

zwraca: drzewo decyzyjne reprezentuj ¾

ace hipotez ¾

e przybli·

zaj ¾

ac ¾

a c na

zbiorze P;

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

8 / 35

background image

Zst ¾

epuj ¾

aca budowa drzewa decyzyjnego (Top-Down

Induction of Decision Trees) - c.d.

1

If kryterium_stopu

(

P, S

)

2

utwórz li´s´c l;

3

d

l

:

=

kategoria

(

P, d

)

;

4

zwró´c l;

5

end

6

Utwórz w ¾

eze÷n;

7

t

n

:

=

wybierz_test

(

P, S

)

;

8

d :

=

kategoria

(

P, d

)

;

9

for

8

r

2

R

t

n

10

n

[

r

]

:

=

buduj_drrzewo

(

P

t

n

, d , S

f

t

n

g)

;

11

end

12

zwró´c n.

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

9 / 35

background image

Testy atrybutów

t

(

x

) =

1

,

a

(

x

) =

v

0

oth.

t

(

x

) =

1

,

a

(

x

)

b

0

oth.

t

(

x

) =

1

,

a

(

x

)

2

V

0

oth.

Test powinien by´c dopasowany do problemu a drzewo w miar ¾

e mo·

zliwo´sci

proste.

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

10 / 35

background image

Przyk÷

ad - który atrybut wybra´c do podzia÷

u?

Aura

.

#

&

deszczowa

pochmurna

sloneczna

0,0

-

0,0,0

1,1,1

1,1,1,1

1,1

5/14

=

0.3571

4/14

=

0.2857

5/14

=

0.3571

Temperatura

.

#

&

niska

srednia

wysoka

0

0,0

0,0

1,1,1

1,1,1,1

1,1

4/14

=

0.2857

6/14

=

0.4286

4/14

=

0.2857

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

11 / 35

background image

Przyk÷

ad - który atrybut wybra´c do podzia÷

u? - c.d.

Wilgotnosc

.

&

duza

normalna

0,0,0,0

0

1,1,1

1,1,1,1,1,1

7/14

=

0.5

7/14

=

0.5

Wiatr

.

&

nie

tak

0,0,0

0,0,0

1,1,1,1,1,1

1,1,1

8/14

=

0.5714

6/14

=

0.4286

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

12 / 35

background image

Teoria: informacja i entropia

Informacja zawarta w zbiorze etykietowanych przyk÷

adów P

I

(

P

) =

d

2

C

P

d

j

P

j

log

2

P

d

j

P

j

.

(mo·

ze by´c inny log

( )

ale konsekwentnie).

Entropia zbioru przyk÷

adów P ze wzgl ¾

edu na wynik r testu t

E

t ,r

(

P

) =

d

2

C

P

d

t ,r

j

P

t ,r

j

log

2

P

d

t ,r

j

P

t ,r

j

jest du·

za, je·

zeli w´sród przyk÷

adów ze zbioru P, dla których test t daje

wynik r , rozk÷

ad na kategorie jest równomierny.

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

13 / 35

background image

Teoria: ´srednia wa·

zona entropii i przyrost informacji

Entropia zbioru przyk÷

adów P ze wzgl ¾

edu na test t jest ´sredni ¾

a wa·

zon ¾

a

entropii dla poszczególnych wyników testu:

E

t

(

P

) =

r

2

R

t

j

P

t ,r

j

j

P

j

E

t ,r

(

P

)

, E

t

(

P

) =

d

2

C

P

d

j

P

j

log

2

P

d

j

P

j

Przyrost informacji (information gain) po zastosowania testu t do zbioru
przyk÷

adów P:

g

t

(

P

) =

I

(

P

)

E

t

(

P

)

.

g

t

= inf. przed rozdzieleniem “minus” inf. po rozdzieleniu. Miara

ró·

znorodno´sci klas. W w ¾

e´zle wybieramy test maksymalizuj ¾

acy przyrost

informacji:

max

t

f

g

t

(

P

)g

.

Informacja I

(

P

)

nie zale·

zy od ocenianego testu (dla zbioru przyk÷

adów

P), czyli minimalizujemy entropi ¾

e E

t

(

P

)

, a wi ¾

ec maksymalizujemy

ró·

znorodno´s´c klas.

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

14 / 35

background image

Interpretacja entropii

Dla dwuelementowego zbioru kategorii C

= f

0, 1

g

,przyjmuj ¾

ac

p

=

P

0

t ,r

j

P

t ,r

j

)

I

(

P

) =

E

(

P

)

, p

=

P

0

j

P

j

)

E

t ,r

(

P

) =

E

(

P

)

E

(

P

) =

p log

2

p

(

1

p

)

log

2

(

1

p

)

0.0 0.2 0.4 0.6

0.8 1.0

0.0

0.5

1.0

p

E(p)

Maksymalna entropia jest zawarta w zbiorze przyk÷

adów o równomiernym

rozk÷

adzie kategorii. E

=

0 dla p

=

0 lub p

=

1, czyli informacja(entropia)

jest tym mniejsza, im bardziej wyra´zna jest przewaga jednej kategorii nad
drug ¾

a (w ¾

eze÷bardziej “czysty”).

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

15 / 35

background image

Przyk÷

ad - obliczenia dla atrybutu “Aura”

Liczno´sci zbiorów potrzebne do wyznaczenia wartosci przyrostu informacji
dla testu to·

zsamo´sciowego na warto´sciach atrybutu “aura”.

C

= f

0, 1

g

, P

1

= jf

3, 4, 5, 7, 9, 10, 11, 12, 13

gj =

9,

P

0

= jf

1, 2, 6, 8, 14

gj =

5

P

Aura_sloneczna

= jf

1, 2, 8, 9, 11

gj =

5

P

1

Aura_sloneczna

= jf

9, 11

gj =

2

P

0

Aura_sloneczna

= jf

1, 2, 8

gj =

3

P

Aura_pochmurna

= jf

3, 7, 12, 13

gj =

4

P

1

Aura_pochmurna

= jf

3, 7, 12, 13

gj =

4

P

0

Aura_pochmurna

= j

j =

0

P

Aura_deszczowa

= jf

4, 5, 6, 10, 14

gj =

5

P

1

Aura_deszczowa

= jf

4, 5, 10

gj =

3

P

0

Aura_deszczowa

= jf

6, 14

gj =

2

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

16 / 35

background image

Przyk÷

ad - obliczenia dla atrybutu “Aura” - c.d.

E

Aura_sloneczna

(

P

) =

j

2

j

j

5

j

log

2

j

2

j

j

5

j

j

3

j

j

5

j

log

2

j

3

j

j

5

j

=

0.971

E

Aura_pochmurna

(

P

) =

j

4

j

j

4

j

log

2

j

4

j

j

4

j

j

0

j

j

4

j

log

2

j

0

j

j

4

j

=

0

E

Aura_deszczowa

(

P

) =

j

3

j

j

5

j

log

2

j

3

j

j

5

j

j

2

j

j

5

j

log

2

j

2

j

j

5

j

=

0.971

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

17 / 35

background image

Przyk÷

ad - obliczenia dla atrybutu “aura” - c.d.

Entropia zbioru przyk÷

adów P ze wzgl ¾

edu na test t jest ´sredni ¾

a wa·

zon ¾

a

entropii dla poszczególnych wyników testu:

E

Aura

(

P

) =

r

2

R

t

j

P

t ,r

j

j

P

j

E

t ,r

(

P

) =

P

Aura_sloneczna

j

P

1

j + j

P

0

j

E

Aura_sloneczna

(

P

) +

P

Aura_pochmurna

j

P

1

j + j

P

0

j

E

Aura_pochmurna

(

P

) +

P

Aura_deszczowa

j

P

1

j + j

P

0

j

E

Aura_deszczowa

(

P

)

E

Aura

(

P

) =

5

9

+

5

0.971

+

4

9

+

5

0

+

5

9

+

5

0.971

=

0.694

Informacja zawarta w zbiorze etykietowanych przyk÷

adów P

I

(

P

) =

d

2

C

P

d

j

P

j

log

2

P

d

j

P

j

=

P

1

j

P

j

log

2

P

1

j

P

j

P

0

j

P

j

log

2

P

0

j

P

j

=

9

14

log

2

9

14

5

14

log

2

5

14

=

0.940

Przyrost informacji dla atrybutu “Aura”:
g

t

(

P

) =

I

(

P

)

E

t

(

P

) =

0.940

0.694

=

0.246

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

18 / 35

background image

Przyk÷

ad - obliczenia dla atrybutu “Temperatura”

Liczno´sci zbiorów potrzebne do wyznaczenia wartosci przyrostu informacji
dla testu to·

zsamo´sciowego na warto´sciach atrybutu “Temperatura”.

C

= f

0, 1

g

, P

1

= jf

3, 4, 5, 7, 9, 10, 11, 12, 13

gj =

9,

P

0

= jf

1, 2, 6, 8, 14

gj =

5

P

Temp_wysoka

= jf

1, 2, 3, 13

gj =

4

P

1

Temp_wysoka

= jf

3, 13

gj =

2

P

0

Temp_wysoka

= jf

1, 2

gj =

2

P

Temp_srednia

= jf

4, 8, 10, 11, 12, 14

gj =

6

P

1

Temp_srednia

= jf

4, 10, 11, 12

gj =

4

P

0

Temp_srednia

= jf

8, 14

gj =

2

P

Temp_niska

= jf

5, 6, 7, 9

gj =

4

P

1

Temp_niska

= jf

5, 7, 9

gj =

3

P

0

Temp_niska

= jf

6

gj =

1

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

19 / 35

background image

Przyk÷

ad - obliczenia dla atrybutu “Temperatura” - c.d.

E

Temp_wysoka

(

P

) =

j

2

j

j

4

j

log

2

j

2

j

j

4

j

j

2

j

j

4

j

log

2

j

2

j

j

4

j

=

1

E

Temp_srednia

(

P

) =

j

4

j

j

6

j

log

2

j

4

j

j

6

j

j

2

j

j

6

j

log

2

j

2

j

j

6

j

=

0.918

E

Temp_niska

(

P

) =

j

3

j

j

4

j

log

2

j

3

j

j

4

j

j

1

j

j

4

j

log

2

j

1

j

j

4

j

=

0.811

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

20 / 35

background image

Przyk÷

ad - obliczenia dla atrybutu “Temperatura” - c.d.

Entropia zbioru przyk÷

adów P ze wzgl ¾

edu na test t jest ´sredni ¾

a wa·

zon ¾

a

entropii dla poszczególnych wyników testu:

E

Temperatura

(

P

) =

r

2

R

t

j

P

t ,r

j

j

P

j

E

t ,r

(

P

) =

P

Temp_wysoka

j

P

1

j + j

P

0

j

E

Temp_wysoka

(

P

) +

P

Temp_srednia

j

P

1

j + j

P

0

j

E

Temp_srednia

(

P

) +

P

Temp_niska

j

P

1

j + j

P

0

j

E

Temp_niska

(

P

)

E

Temperatura

(

P

) =

4

9

+

5

1

+

6

9

+

5

0.918

+

4

9

+

5

0.811

=

0.911

Informacja zawarta w zbiorze etykietowanych przyk÷

adów P

I

(

P

) =

d

2

C

P

d

j

P

j

log

2

P

d

j

P

j

=

P

1

j

P

j

log

2

P

1

j

P

j

P

0

j

P

j

log

2

P

0

j

P

j

=

9

14

log

2

9

14

5

14

log

2

5

14

=

0.940

Przyrost informacji dla atrybutu “Temperatura”:
g

t

(

P

) =

I

(

P

)

E

t

(

P

) =

0.940

0.911

=

0.029

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

21 / 35

background image

Przyk÷

ad - obliczenia dla atrybutu “Wilgotnosc” - c.d.

C

= f

0, 1

g

, P

1

= jf

3, 4, 5, 7, 9, 10, 11, 12, 13

gj =

9,

P

0

= jf

1, 2, 6, 8, 14

gj =

5

P

Wilgotnosc_duza

= jf

1, 2, 3, 4, 8, 12, 14

gj =

7

P

1

Wilgotnosc_duza

= jf

3, 4, 12

gj =

3

P

0

Wilgotnosc_duza

= jf

1, 2, 8, 14

gj =

4

P

Wilgotnosc_normalna

= jf

5, 6, 7, 9, 10, 11, 13

gj =

7

P

1

Wilgotnosc_normalna

= jf

6

gj =

1

P

0

Wilgotnosc_normalna

= jf

5, 7, 9, 10, 11, 13

gj =

6

E

Wilgotnosc_duza

(

P

) =

j

3

j

j

7

j

log

2

j

3

j

j

7

j

j

4

j

j

7

j

log

2

j

4

j

j

7

j

=

0.985

E

Wilgotnosc_normalna

(

P

) =

j

1

j

j

7

j

log

2

j

1

j

j

7

j

j

6

j

j

7

j

log

2

j

6

j

j

7

j

=

0.592

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

22 / 35

background image

Przyk÷

ad - obliczenia dla atrybutu “Wilgotnosc” - c.d.

Entropia zbioru przyk÷

adów P ze wzgl ¾

edu na test t jest ´sredni ¾

a wa·

zon ¾

a

entropii dla poszczególnych wyników testu:

E

Wilgotnosc

(

P

) =

r

2

R

t

j

P

t ,r

j

j

P

j

E

t ,r

(

P

) =

P

Wilgotnosc_duza

j

P

1

j + j

P

0

j

E

Wilgotnosc_duza

(

P

) +

P

Wilgotnosc_normalna

j

P

1

j + j

P

0

j

E

Wilgotnosc_normalna

(

P

)

E

Wilgotnosc

(

P

) =

7

9

+

5

0.985

+

7

9

+

5

0.592

=

0.788

Informacja zawarta w zbiorze etykietowanych przyk÷

adów P

I

(

P

) =

d

2

C

P

d

j

P

j

log

2

P

d

j

P

j

=

P

1

j

P

j

log

2

P

1

j

P

j

P

0

j

P

j

log

2

P

0

j

P

j

=

9

14

log

2

9

14

5

14

log

2

5

14

=

0.940

Przyrost informacji dla atrybutu “Wilgotnosc”:
g

t

(

P

) =

I

(

P

)

E

t

(

P

) =

0.940

0.788

=

0.152

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

23 / 35

background image

Przyk÷

ad - obliczenia dla atrybutu “Wiatr” - c.d.

C

= f

0, 1

g

P

1

= jf

3, 4, 5, 7, 9, 10, 11, 12, 13

gj =

9, P

0

= jf

1, 2, 6, 8, 14

gj =

5

P

Wiatr_nie

= jf

1, 3, 4, 5, 8, 9, 10, 13

gj =

8

P

1

Wiatr_nie

= jf

3, 4, 5, 9, 10, 13

gj =

6

P

0

Wiatr_nie

= jf

1, 8

gj =

2

P

Wiatr_tak

= jf

2, 6, 7, 11, 12, 14

gj =

6

P

1

Wiatr_tak

= jf

7, 11, 12

gj =

3

P

0

Wiatr_tak

= jf

2, 6, 14

gj =

3

E

Wiatr_nie

(

P

) =

j

6

j

j

8

j

log

2

j

6

j

j

8

j

j

2

j

j

8

j

log

2

j

2

j

j

8

j

=

0.811

E

Wiatr_tak

(

P

) =

j

3

j

j

6

j

log

2

j

3

j

j

6

j

j

3

j

j

6

j

log

2

j

3

j

j

6

j

=

1

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

24 / 35

background image

Przyk÷

ad - obliczenia dla atrybutu “Wiatr” - c.d.

Entropia zbioru przyk÷

adów P ze wzgl ¾

edu na test t jest ´sredni ¾

a wa·

zon ¾

a

entropii dla poszczególnych wyników testu:

E

Wiatr

(

P

) =

r

2

R

t

j

P

t ,r

j

j

P

j

E

t ,r

(

P

) =

P

Wiatr_nie

j

P

1

j + j

P

0

j

E

Wiatr_nie

(

P

) +

P

Wiatr_tak

j

P

1

j + j

P

0

j

E

Wiatr_tak

(

P

)

E

Wiatr

(

P

) =

8

9

+

5

0.811

+

6

9

+

5

1

=

0.892

Informacja zawarta w zbiorze etykietowanych przyk÷

adów P

I

(

P

) =

d

2

C

P

d

j

P

j

log

2

P

d

j

P

j

=

P

1

j

P

j

log

2

P

1

j

P

j

P

0

j

P

j

log

2

P

0

j

P

j

=

9

14

log

2

9

14

5

14

log

2

5

14

=

0.940

Przyrost informacji dla atrybutu “Wiatr”:
g

t

(

P

) =

I

(

P

)

E

t

(

P

) =

0.940

0.892

=

0.048

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

25 / 35

background image

Przyk÷

ad - przyrost informacji w wierzcho÷

ku 1

Przyrost informacji dla atrybutu “Aura”: g

t

(

P

) =

0.246

Przyrost informacji dla atrybutu “Temperatura”: g

t

(

P

) =

0.029

Przyrost informacji dla atrybutu “Wilgotnosc”: g

t

(

P

) =

0.152

Przyrost informacji dla atrybutu “Wiatr”: g

t

(

P

) =

0.048

W w ¾

e´zle 1 wybieramy test maksymalizuj ¾

acy przyrost informacji:

max

t

f

g

t

(

P

)g

.

Wniosek: Atrybut “Aura” maksymalizuje przyrost informacji

)

wybieramy do podzia÷

u.

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

26 / 35

background image

Przyk÷

ad - dalszy podzia÷atrybutu “Aura”

Aura

sloneczna

.

Temperatura

wysoka

.

srednia

#

&

niska

Aura

sloneczna

.

Wilgotnosc

du·

za

.

normalna

#

Aura

sloneczna

.

Wiatr

nie

.

tak

#

Który podzia÷wybra´c?

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

27 / 35

background image

Przyk÷

ad - dalszy podzia÷

Przyrost informacji dla atrybutu “Temperatura”: g

t

(

P

) =

0.571

Przyrost informacji dla atrybutu “Wilgotnosc”: g

t

(

P

) =

0.971

Przyrost informacji dla atrybutu “Wiatr”: g

t

(

P

) =

0.020

Wybieramy test maksymalizuj ¾

acy przyrost informacji:

max

t

f

g

t

(

P

)g

.

Wniosek: Atrybut “Wilgotnosc” maksymalizuje przyrost informacji

)

wybieramy do podzia÷

u.

Podzia÷w oparciu o zysk informacyjny (Interactive Dichotomizer
version 3, ID3).

Proces budowy drzewa zatrzymuje si ¾

e gdy spe÷

nione jest kryterium

stopu (np. dalszy podzia÷nie jest mo·

zliwy).

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

28 / 35

background image

Drzewa decyzyjne - indeks Giniego

Zamiast minimalizacji entropii E

t ,r

(

P

) =

d

2

C

p

d

t ,r

log

2

p

d

t ,r

lepiej jest minimalizowa´c indeks Giniego (Gini index):

G

t ,r

(

P

) =

d

2

C

p

d

t ,r

1

p

d

t ,r

0.0

0.2 0.4

0.6 0.8

1.0

0.0

0.5

1.0

p

E,G

Wykresy: E

=

p log

2

p

(

1

p

)

log

2

(

1

p

)

, Q

=

2p

(

1

p

)

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

29 / 35

background image

Drzewa decyzyjne - indeks Giniego: przyk÷

ad

Kl1:4
Kl2:4

p

L

.

p

R

&

Kl1:3

Kl1:1

Kl2:1

Kl2:3

Entropia: C

= f

1, 2

g

, P

=

8, P

1

=

4, P

2

=

4

Atrybut L: P

L

=

4, P

1

L

=

3, P

2

L

=

1

E

L,1

(

P

) =

j

3

j

j

4

j

log

2

j

3

j

j

4

j

j

1

j

j

4

j

log

2

j

1

j

j

4

j

=

0.81128

E

L,2

(

P

) =

j

1

j

j

4

j

log

2

j

1

j

j

4

j

j

3

j

j

4

j

log

2

j

3

j

j

4

j

=

0.81128

E

L

(

P

) =

P

1

L

j

P

L

j

E

L,1

(

P

) +

P

2

L

j

P

L

j

E

L,2

(

P

) =

0.81128

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

30 / 35

background image

Drzewa decyzyjne - indeks Giniego: przyk÷

ad, c.d.

Kl1:4
Kl2:4

p

L

.

p

R

&

Kl1:3

Kl1:1

Kl2:1

Kl2:3

Atrybut R: P

R

=

4, P

1

R

=

1, P

2

R

=

3

E

R,1

(

P

) =

j

1

j

j

4

j

log

2

j

1

j

j

4

j

j

3

j

j

4

j

log

2

j

3

j

j

4

j

=

0.81128

E

R,2

(

P

) =

j

1

j

j

4

j

log

2

j

1

j

j

4

j

j

3

j

j

4

j

log

2

j

3

j

j

4

j

=

0.81128

E

R

(

P

) =

P

1

R

j

P

R

j

E

R,1

(

P

) +

P

2

R

j

P

R

j

E

R,2

(

P

) =

0.81128

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

31 / 35

background image

Drzewa decyzyjne - indeks Giniego: przyk÷

ad, c.d.

Kl1:4
Kl2:4

p

L

.

p

R

&

Kl1:3

Kl1:1

Kl2:1

Kl2:3

Entropia: C

= f

1, 2

g

, P

=

8, P

1

=

4, P

2

=

4

Informacja zawarta w zbiorze etykietowanych przyk÷

adów P

I

(

P

) =

P

1

j

P

j

log

2

P

1

j

P

j

P

2

j

P

j

log

2

P

2

j

P

j

=

4
8

log

2

4
8

4
8

log

2

4
8

=

1.0

Przyrost informacji wed÷

ug entropii:

Lewy: g

t

(

P

) =

I

(

P

)

E

t

(

P

) =

1

0.81128

=

0.18872

Prawy: g

t

(

P

) =

I

(

P

)

E

t

(

P

) =

1

0.81128

=

0.18872

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

32 / 35

background image

Drzewa decyzyjne - indeks Giniego: przyk÷

ad, c.d.

Kl1:4
Kl2:4

p

L

.

p

R

&

Kl1:3

Kl1:1

Kl2:1

Kl2:3

Gini: C

= f

1, 2

g

, P

=

8, P

1

=

4, P

2

=

4

Atrybut L: P

L

=

4, P

1

L

=

3, P

2

L

=

1

G

L,1

(

P

) =

2

3
4

1

3
4

=

0.375

G

L,2

(

P

) =

2

1
4

1

1
4

=

0.375

G

L

(

P

) =

P

1

L

j

P

L

j

G

L,1

(

P

) +

P

2

L

j

P

L

j

G

L,2

(

P

) =

0.375

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

33 / 35

background image

Drzewa decyzyjne - indeks Giniego: przyk÷

ad, c.d.

Kl1:4
Kl2:4

p

L

.

p

R

&

Kl1:3

Kl1:1

Kl2:1

Kl2:3

Gini: C

= f

1, 2

g

, P

=

8, P

1

=

4, P

2

=

4

Atrybut R: P

R

=

4, P

1

R

=

1, P

2

R

=

3

G

R,1

(

P

) =

2

1
4

1

1
4

=

0.375

G

R,2

(

P

) =

2

3
4

1

3
4

=

0.375

G

R

(

P

) =

P

1

R

j

P

R

j

G

R,1

(

P

) +

P

2

R

j

P

R

j

G

R,2

(

P

) =

0.375

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

34 / 35

background image

Drzewa decyzyjne - indeks Giniego: przyk÷

ad, c.d.

Kl1:4
Kl2:4

p

L

.

p

R

&

Kl1:3

Kl1:1

Kl2:1

Kl2:3

Gini: C

= f

1, 2

g

, P

=

8, P

1

=

4, P

2

=

4

Informacja zawarta w zbiorze etykietowanych przyk÷

adów P

I

G

(

P

) =

2

P

1

j

P

j

 

1

P

1

j

P

j

!

+

2

P

2

j

P

j

 

1

P

2

j

P

j

!

=

2

4
8

1

4
8

+

2

4
8

1

4
8

=

1.0

Przyrost informacji wed÷

ug indeksu Giniego jest wi ¾

ekszy ni·

z dla entropii:

Lewy: g

t

(

P

) =

I

G

(

P

)

G

L

(

P

) =

1

0.375

=

0.625

>

0.18872

Prawy: g

t

(

P

) =

I

G

(

P

)

G

R

(

P

) =

1

0.375

=

0.625

>

0.18872

Jacek Kluska (Politechnika Rzeszowska)

(Decision Trees)

2010

35 / 35


Document Outline