• Nie Znaleziono Wyników

Budowa drzewa decyzyjnego za pomocą algorytmu ID3

N/A
N/A
Protected

Academic year: 2021

Share "Budowa drzewa decyzyjnego za pomocą algorytmu ID3"

Copied!
5
0
0

Pełen tekst

(1)

Budowa drzewa decyzyjnego za pomocą algorytmu ID3

Jarosław Arabas Rozważmy przykładowy zbiór danych

Atrybuty a-e są atrybutami warunkowymi, zaś f jest decyzyjny.

Uruchamiamy metodę ID3, która daje następujące wyniki pośrednie

Najmniejszą entropię mają atrybuty b i d, lecz b ma mniej wartości, dlatego on będzie korzeniem drzewa. Wygląda ono teraz tak

a b c d e f

A A C A A 0

A B B B B 0

A A A A C 0

B B A C D 0

B B B C B 1

B B C C D 1

B B B B B 1

A B A B C 1

b

A B

f=0 f=1

częstość wystąpień

entropia wartości atrybutu

entropia atrybutu

a A 3 1 4 0.811278 0.811278

B 1 3 4 0.811278

b A 2 0 2 0 0.688722

B 2 4 6 0.918296

c A 2 1 3 0.918296 0.938722

B 1 2 3 0.918296

C 1 1 2 1

d A 2 0 2 0 0.688722

B 1 2 3 0.918296

C 1 2 3 0.918296

e A 1 0 1 0 0.844361

B 1 2 3 0.918296

C 1 1 2 1

D 1 1 2 1

(2)

Uruchomienie metody ID3 dla lewego poddrzewa prowadzi do wstawienia węzła terminalnego z etykietą f=0

Uruchamiamy następnie ID3 dla prawego poddrzewa. Są do niego klasyfikowane następujące przykłady

Wyniki pośrednie są następujące

Atrybutem o najmniejszej entropii jest c i dlatego dodamy węzeł z testem na c

b

A B

f=0

a b c d e f

A B B B B 0

B B A C D 0

B B B C B 1

B B C C D 1

B B B B B 1

A B A B C 1

b

A B

f=0 c

A B C

f=0 f=1

częstość wystąpień

entropia wartości atrybutu

entropia atrybutu

a A 1 1 2 1 0.874185

B 1 3 4 0.811278

c A 1 1 2 1 0.792481

B 1 2 3 0.918296

C 0 1 1 0

d A 0 0 0 0 0.918296

B 1 2 3 0.918296

C 1 2 3 0.918296

e A 0 0 0 0 0.792481

B 1 2 3 0.918296

C 0 1 1 0

D 1 1 2 1

(3)

Uruchomienie ID3 dla lewego poddrzewa (c=A) daje następujące przykłady

i wyniki pośrednie

Możemy wybrać dowolny atrybut, wybieramy a dlatego, że ma najmniej możliwych wartości.

Drzewo wygląda tak

a b c d e f

B B A C D 0

A B A B C 1

b

A B

f=0 c

A B C

a

A B

f=1 f=0 f=0 f=1

częstość wystąpień

entropia wartości atrybutu

entropia atrybutu

a A 0 1 1 0 0

B 1 0 1 0

d A 0 0 0 0 0

B 0 1 1 0

C 1 0 1 0

e A 0 0 0 0 0

B 0 0 0 0

C 0 1 1 0

D 1 0 1 0

(4)

Teraz dla c=B: zbiór przykładów

i wyniki pośrednie

Możemy wybrać a lub d, znowu wybieramy a, co prowadzi do drzewa

a b c d e f

A B B B B 0

B B B C B 1

B B B B B 1

b

A B

f=0 c

A B C

a

A B

f=1 f=0 a

A B

f=0 f=1 f=0 f=1

częstość wystąpień

entropia wartości atrybutu

entropia atrybutu

a A 1 0 1 0 0

B 0 2 2 0

d A 0 0 0 0 1

B 1 1 2 1

C 0 1 1 0

e A 0 0 0 0 0.918296

B 1 2 3 0.918296

C 0 0 0 0

D 0 0 0 0

(5)

W końcu rozważamy przypadek c=C i widzimy że wszystkie przykłady mają tę samą wartość atrybutu decyzyjnego, więc ostateczna postać drzewa to

b

A B

f=0 c

A B C

a

A B

f=1 f=0

a

A B

f=0 f=1 f=1

Cytaty

Powiązane dokumenty

Widz- imy także, że pierwszym atrybutem wybranym do budowy drzewa jest cecha Petal.Length, która w przypadku, gdy wartość Petal.Length jest mniejsza od 2.45 od razu prowadzi

Chcemy bada¢ zachowanie P t dla du»ych warto±ci t, gdzie P jest macierz¡ przej±cia pewnego ªa«cucha Markowa. Naturalna jest wi¦c próba opisu spektrum P. Niech P b¦dzie

Pokaż przebieg algorytmów wyszukiwania sekwencyjnego (indeks), binarnego z powtórzeniami (kolejne przedziały) oraz bez powtórzeń (kolejne przedziały) przy

Else if the nearest sibling of the empty leaf contains only a single element (2 in Fig. J), but its parent contains two elements, then move the closest parent element (1 in Fig. J)

Binarne drzewo poszukiwań (BST – binary search tree) to binarne drzewo reprezentujące elementy multizbioru w taki sposób, iż każdy wierzchołek ma po lewej elementy mniejsze, a

domyślają się w tym miejscu, że metoda sprawdzania przy pomocy drzew semantycznych, czy dana formuła języka KRP jest tautologią KRP, ma charakter apagogiczny —

Znaczna część ropy naftowej na świecie transportowana jest statkami, dlatego porty morskie zapewniają warunki bezpośredniej dostawy tego surowca bez konieczności

• Zamiast umieszczać metodę eval w każdym węźle drzewa, wszystkie je umieszczamy w osobnej klasie zapewniającej określoną funkcjonalność (interpreter, type