• Nie Znaleziono Wyników

Uczymy się budowad drzewa decyzyjne algorytmem ID 3. Rozważmy binarną klasyfikację C. Jeśli mamy zbiór przykładów S, dla którego potrafimy stwierdzid, które przykłady ze zbioru S dają wartośd pozytywną dla C (p

N/A
N/A
Protected

Academic year: 2021

Share "Uczymy się budowad drzewa decyzyjne algorytmem ID 3. Rozważmy binarną klasyfikację C. Jeśli mamy zbiór przykładów S, dla którego potrafimy stwierdzid, które przykłady ze zbioru S dają wartośd pozytywną dla C (p"

Copied!
4
0
0

Pełen tekst

(1)

Uczymy się budowad drzewa decyzyjne algorytmem ID 3.

Rozważmy binarną klasyfikację C. Jeśli mamy zbiór przykładów S, dla którego potrafimy stwierdzid, które przykłady ze zbioru S dają wartośd pozytywną dla C (p+) a które wartośd negatywną dla C (p-) wówczas entropię (ang. Entropy) dla S obliczymy jako:

Zatem mając daną klasyfikację na większą liczbę klas (C dzieli się na kategorie c1, ..., cn) i wiedząc które przykłady ze zbioru S mają klasę ci obliczymy odpowiednią proporcję dla pi, a wtedy entropię dla S policzymy jako:

Interpretacja wartości: -p*log2(p) jest taka, że kiedy p osiąga wartośd bliską zeru (0) (tak się dzieje m.in. wtedy, gdy kategoria ma tylko kilka przykładów (jest mało liczna), wtedy wartośd log(p) osiąga dużą wartośd ujemną, ale po wymnożeniu przez wartośd p ostatecznie cała entropia osiąga wartośd bliską 0. Podobnie, jeśli p osiąga wartośd bliską 1 (gdy kategoria rozważana pochłania większośd przykładów ze zbioru), wtedy wartośd log(p) jest bliska 0, a wtedy całościowa entropia także osiąga wartośd 0. To ma na celu pokazad, że entropia osiąga wartośd bliską 0 albo wtedy gdy dla danej kategorii jest bardzo mało przykładów, albo wręcz dana kategoria pochłania większośd przykładów zadanych w analizowanym zbiorze.

Information Gain

Na każdym etapie budowy drzewa trzeba wybrad atrybut który będzie tworzył dany węzeł w drzewie. Na początku powstaje problem, który atrybut powinien budowad korzeo drzewa.

W tym celu oblicza się zysk informacyjny jaki da dany atrybut jeśli to jego użyjemy do budowy węzła w drzewie:

Jeśli więc mamy atrybut A z jego możliwymi wartościami, dla każdej możliwej wartości v, obliczymy entropię dla tej wartości danego atrybutu (Sv):

Załóżmy, że mamy zbiór 4 elementów w zbiorze S = {s1,s2,s3,s4} i że mamy tzw. binarną kategoryzację, a więc dwie klasy {positive, negative} takie, że s1 oznacza klasę positive a reszta negative. Jeśli teraz chcemy obliczyd zysk informacyjny (ang. information gain) dla atrybutu A, który ma 3 możliwe wartości {v1,v2,v3} i założymy, że

 s1 ma wartośd v2 dla atrybutu A

 s2 ma wartośd v2 dla atrybutu A

 s3 ma wartośd v3 dla atrybutu A

 s4 ma wartośd v1 dla atrybutu A

musimy w pierwszej kolejności obliczyd wartośd entropii dla S:

p+ = ¼ p- = ¾

(2)

Więc obliczamy:

Entropy(S) = -(1/4)log2(1/4) -(3/4)log2(3/4) = -(1/4)(-2) -(3/4)(-0.415) = 0.5 + 0.311 = 0.811 log2(x) = ln(x)/ln(2), gdzie ln(2) jest logarytmem naturalnym z liczby 2.

Następnie obliczamy ważoną entropię Entropy(Sv) dla każdej wartości v = v1, v2, v3, v4 pamiętając, że ważenie entropii wymaga obliczenia wyrażenia (|Svi|/|S|).

Sv1 = {s4}, sv2={s1, s2}, sv3 = {s3}.

Zatem obliczamy odpowiednio wartości:

(|Sv1|/|S|) * Entropy(Sv1) = (1/4) * (-(0/1)log2(0/1) - (1/1)log2(1/1)) = (1/4)(-0 -(1)log2(1)) = (1/4)(-0 -0) = 0 (|Sv2|/|S|) * Entropy(Sv2) = (2/4) * (-(1/2)log2(1/2) - (1/2)log2(1/2)) = (1/2) * (-(1/2)*(-1) - (1/2)*(-1)) = (1/2) * (1) = 1/2

(|Sv3|/|S|) * Entropy(Sv3) = (1/4) * (-(0/1)log2(0/1) - (1/1)log2(1/1)) = (1/4)(-0 -(1)log2(1)) = (1/4)(-0 -0) = 0 Zauważ, że 0 log2(0) jest równe 0 zaś log2(1) = 0 oraz log2(1/2) = -1.

Zsumowanie tych 3 wartości da nam wartośd entropii dla S Gain(S,A) = 0.811 - (0 + 1/2 + 0) = 0.311

Zadanie

Wyobraźmy sobie, że zawsze w weekend wykonujemy podobne czynności: robimy zakupy, oglądamy film, gramy w tenisa, albo po prostu zostajemy w domu. To co robimy zwykle zależy od 3 czynników: od pogody (wiatr, deszcz, słooce), od tego ile mamy pieniędzy (bogaty, biedny) oraz od tego czy odwiedzą Cię wtedy znajomi.

przykład pogoda znajomi pieniądze czynnośd

W1 Sunny Yes Rich Cinema

W2 Sunny No Rich Tennis

W3 Windy Yes Rich Cinema

W4 Rainy Yes Poor Cinema

W5 Rainy No Rich Stay

W6 Rainy Yes Poor Cinema

W7 Windy No Poor Cinema

W8 Windy No Rich Shopping

W9 Windy Yes Rich Cinema

W10 Sunny No Rich Tennis

Czyli mamy na 10 przykładów:

6 razy wartośd „Cinema” – czyli 6 razy na 10 mamy wartośd „Cinema”

2 razy wartośd „tennis”

1 raz wartośd „shopping”

1 raz wartośd „stay”

(3)

Entropy(S) = -pcinema log2(pcinema) -ptennis log2(ptennis) -pshopping log2(pshopping) -pstay_in log2(pstay_in) = -(6/10) * log2(6/10) -(2/10) * log2(2/10) -(1/10) * log2(1/10) -(1/10) * log2(1/10) = -(6/10) * -0.737 -(2/10) * -2.322 -(1/10) * -3.322 -(1/10) * -3.322 = 0.4422 + 0.4644 + 0.3322 + 0.3322 = 1.571

Gain(S, pogoda) = 1.571 - (|Ssun|/10)*Entropy(Ssun) - (|Swind|/10)*Entropy(Swind) - (|Srain|/10)*Entropy(Srain) = 1.571 - (0.3)*Entropy(Ssun) - (0.4)*Entropy(Swind) - (0.3)*Entropy(Srain) = 1.571 - (0.3)*(0.918) - (0.4)*(0.81125) - (0.3)*(0.918) = 0.70

Gain(S, znajomi) = 1.571 - (|Syes|/10)*Entropy(Syes) - (|Sno|/10)*Entropy(Sno) = 1.571 - (0.5) * 0 - (0.5) * 1.922 = 1.571 - 0.961 = 0.61

Gain(S, pieniądze) = 1.571 - (|Srich|/10)*Entropy(Srich) - (|Spoor|/10)*Entropy(Spoor) = 1.571 - (0.7) * (1.842) - (0.3) * 0 = 1.571 - 1.2894 = 0.2816

To oznacza, że pierwszym węzłem w drzewie, a więc korzeniem drzewa będzie atrybutu „pogoda”.

Od tego węzła wyprowadzamy krawędzie (tyle ile wartości miał atrybut „pogoda”).

Przyjrzyjmy się pierwszej gałęzi Ssunny = {W1, W2, W10}.

Nie jest ona pusta, więc musimy sprawdzid jakie możliwe kategorie są przypisane wszystkim przykładom z tej grupy czyli elementom W1, W2 orazW10. Są to wartości: Cinema, Tennis i Tennis. Ponieważ nie są one wszystkie z jednej kategorii (ale w tym przypadku z dwóch: Cinema i Tennis), nie możemy od razu utworzyd liścia drzewa i zakooczyd budowy drzewa w tej gałęzi. Musimy rozbudowad tę gałąź. A więc w kolejnej iteracji wybrad nowy atrybut, który rozdzieli te 3 przykłady W1, W2 i W10 jak się spodziewacie na 2 kategorie: Cinema i Tennis.

Teraz zajmijmy się drugą gałęzią Swindy = {W3, W7, W8, W9}.

Znów jest tak, że elementy w tej gałęzi drzewa niestety nie należą do wspólnej jednej kategorii toteż musimy rozbudowad tą gałąź poprzez utworzenie w niej węzła z kolejnym atrybutem, który najlepiej rozdzieli te 4 elementy.

Jaki to ma byd atrybutu ?

(4)

Na pewno nie ”pogoda” bo przecież ten dopiero co użyliśmy do budowy korzenia drzewa. Musimy sprawdzid teraz wszystkie pozostałe atrybuty, i wybrad ten z nich który da największy zysk informacyjny.

Gain(Ssunny, znajomi) = ? Gain(Ssunny, pieniądze) = ? Entropy(Ssunny) = 0.918.

Ssunny = {W1,W2,W10}

przykład pogoda znajomi pieniądze czynnośd

W1 Sunny Yes Rich Cinema

W2 Sunny No Rich Tennis

W10 Sunny No Rich Tennis

Gain(Ssunny, znajomi) = 0.918 - (|Syes|/|S|)*Entropy(Syes) - (|Sno|/|S|)*Entropy(Sno) = 0.918 - (1/3)*0 - (2/3)*0 = 0.918

Gain(Ssunny, pieniądze) = 0.918 - (|Srich|/|S|)*Entropy(Srich) - (|Spoor|/|S|)*Entropy(Spoor) = 0.918 - (3/3)*0.918 - (0/3)*0 = 0.918 - 0.918 = 0

Entropy(Syes) =0 Entropy(Sno) =0

Już zatem wiadomo, że Gain(Ssunny, znajomi) będzie równa wartośd maksymalnej, bo wartości cząstkowe dadzą wartośd 0, a więc od wartości 0.918 odejmując 0 otrzymamy nadal wartośd 0.918.

Gdy policzymy natomiast Gain(Ssunny, pieniądze) otrzymamy wartośd 0, a więc informację, ze atrybut

„pieniądze” nie wnosi dla tej gałęzi żadnej użytecznej informacji, wiec nie powinniśmy go używad do budowy węzła. Jedynym więc słusznym węzłem będzie węzeł „znajomi”.

Zadanie!

Dokooczcie budowę drzewa !

Cytaty

Powiązane dokumenty

Przez cały referat K będzie ustalonym

Odwzorowanie liniowe przestrzeni z normą jest ograniczone wtedy i tylko wtedy, gdy obraz każdego zbioru ograniczonego jest ograniczony..

Na każdej kartce proszę napisać imię i nazwisko, numer tematu, numer zadania i nazwisko osoby prowadzącej ćwiczenia.. ODPOWIEDZI

Ka˙zdy element zbioru F ma tylko jeden element

Jakie jest praw- dopodobieństwo tego, że ostatnia kula jest

13. Mamy 2n kartek ponumerowanych liczbami od 1 do 2n oraz 2n podobnie ponumerowanych kopert. Wkładamy losowo po jednej kartce do każdej koperty. Jakie jest prawdopodobieństwo tego,

16. Mamy 2n kartek ponumerowanych liczbami od 1 do 2n oraz 2n podobnie ponumerowanych kopert. Wkładamy losowo po jednej kartce do każdej koperty. Jakie jest prawdopodobieństwo tego,

współczynników przyrostu informacji wybierany jest test to˙zsamo´sciowy atrybutu aura o najwi ˛ekszym