• Nie Znaleziono Wyników

,HAM= =IO=?OA )CEAI= M=*HAE«I= & IJO?E=

N/A
N/A
Protected

Academic year: 2021

Share ",HAM= =IO=?OA )CEAI= M=*HAE«I= & IJO?E="

Copied!
12
0
0

Pełen tekst

(1)

Drzewa klasykacyjne

Agnieszka Nowak-Brzezi«ska 8 stycznia 2011

1 Wprowadzenie

Drzewa klasykacyjne1 jako reprezentacja wiedzy o klasykacji s¡ do±¢ atrak- cyjne i popularno±¢, jak¡ ciesz¡ si¦ wykorzystuj¡ce je algorytmy uczenia si¦

poj¦¢, jest uzasadniona ich istotnymi zaletami. Po pierwsze, mog¡ one repre- zentowa¢ dowolnie zªo»one poj¦cia pojedyncze i wielokrotne, je±li tylko ich de-

nicje mo»na wyrazi¢ w zale»no±ci od atrybutów u»ywanych do opisu przykªa- dów. Mówi¡c bardziej precyzyjnie, za pomoc¡ drzewa, mo»e by¢ reprezentowana dowolna funkcja odwzorowuj¡ca warto±ci wszystkich okre±lonych na dziedzinie atrybutów na zbiór kategorii, czyli dowolna dopuszczalna hipoteza. Reprezenta- cja wykorzystuj¡ca drzewa, jest przy tym, dla typowych poj¦¢, do±¢ efektywna pami¦ciowo, a tak»e, co na pewno zasªuguje na uwag¦, drzewa takie umo»li- wiaj¡ niezwykle efektywn¡ implementacj¦ procesu klasykowania przykªadów.

Ponadto istnieje ªatwe przej±cie od drzewa do reprezentacji reguªowej uwa»anej przez wielu, za najbardziej czyteln¡.

Cel zaj¦¢

Celem zaj¦¢ jest poznanie metod budowy i analizy drzew klasykacyjnych przy u»yciu ±rodowiska R.

2 Drzewa klasykacyjne

Drzewem decyzyjnym (klasykacyjnym) okre±limy drzewo reprezentuj¡ce proces podziaªu zbioru obiektów na jednorodne klasy. W takim drzewie wewn¦trzne w¦zªy b¦d¡ opisywa¢ sposób dokonania podziaªu na jednorodne klasy (dokony- wany w oparciu o warto±ci cech obiektów), a li±cie klasom, do których obiekty nale»¡. Z kolei kraw¦dzie drzewa reprezentuj¡ warto±ci cech, na podstawie któ- rych dokonano podziaªu. Przykªad drzewa decyzyjnego przedstawia rysunek 1.

2.1 Proces tworzenia drzewa

Celem jest oczywi±cie zbudowanie drzewa jak najmniejszego (o minimalnej licz- bie w¦zªów), po to by by otrzymane reguªy klasykacji byªy jak najprostsze.

Bardzo ogólna posta¢ algorytmu skªada si¦ z nast¦puj¡cych kroków:

1W literaturze cz¦±ciej mo»emy spotka¢ okre±lenia: drzewo decyzyjne. W statystyce cz¦sto tak»e: drzewa regresyjne, drzewa dyskryminacyjne

(2)

poziom cen akcji

spadekqqqq

xxqqqq MMMwzrostMM

&&M MM MM stopa

procentowa

wzrost

²²

stopa procentowa

spadekqqqq

xxqqqq MMMwzrostMM

&&M MM MM zysk przed-

si¦biorstwa

spadek

²²

Ceny akcji

spadaj¡ zysk przed-

si¦biorstwa

wzrostqqqqq xxqqqqq Ceny akcji

spadaj¡ Ceny akcji

rosn¡

Rysunek 1: Drzewo decyzyjne - klasykacyjne

1. Maj¡c zbiór obiektów S, sprawd¹, czy nale»¡ one do tej samej klasy. Je±li tak, to zako«cz prac¦.

2. W przeciwnym przypadku rozwa» wszystkie mo»liwe podziaªy zbioru S na podzbiory S1, S2, ...Sn tak, aby byªy one jak najbardziej jednorodne.

3. Dokonaj oceny jako±ci ka»dego z tych podziaªów zgodnie z przyj¦tym kry- terium i wybierz najlepszy z nich.

4. Podziel zbiór S w wybrany sposób.

5. Wykonaj kroki 1-4 rekurencyjnie dla ka»dego z podzbiorów.

Na podstawie drzewa klasykacyjnego mo»na ªatwo sformuªowa¢ reguªy przy- nale»no±ci obiektów do klas w odniesieniu do drzewa przedstawionego na ry- sunku 1:

ˆ W przypadku spadku cen akcji: "je»eli stopa procentowa ro±nie i zyski przedsi¦biorstw spadaj¡ to ceny akcji spadaj¡"

ˆ w przypadku wzrostu cen akcji: "je»eli stopa procentowa spada, lub je±li stopa procentowa ro±nie ale jednocze±nie rosn¡ zyski przedsi¦biorstw rosn¡

to ceny akcji rosn¡."

2.2 Rodzaje drzew klasykacyjnych

Ró»nice dotycz¡ postaci funkcji oceniaj¡cej jako±ci podziaªu, sposobu klasyka- cji obiektów o brakuj¡cych warto±ciach cech, itd.

Najbardziej elementarny podziaª drzew decyzyjnych to podziaª na:

ˆ drzewa binarne, w których z ka»dego wewn¦trznego w¦zªa wychodz¡ jedy- nie dwie kraw¦dzie,

(3)

ˆ drzewa niebinarne - gdzie z w¦zªa mog¡ wychodzic wi¦cej ni» dwie kraw¦- dzie.

Tabela 1 2 prezentuje znane algorytmy budowy drzew klasykacyjnych z po- dziaªem na binarne i dowolne. Najpopularniejsze stosowane algorytmy to:

Tablica 1: Rodzaje algorytmów tworzenia drzew decyzyjnych

NAZWA ROK AUTORZY RODZAJ DRZEWA

CLS 1996 Hunt,Marin, Stone binarne ACLS 1982 Paterson, Niblett binarne

ID3 1983 Quinlan dowolne

CART 1984 Brieman, Friedman

Olshen, Stone binarne

ASSISTANT 1985 Kononenko binarne

ID4 1986 Schlimmer, Fisdher dowolne

PLS 1986 Rendell dowolne

C4 1987 Quinlan dowolne

GID 3 1988 Chengf, Fayyad,Irani dowolne

ID5 1989 Utgo dowolne

LMDT 1991 Brodley, Utgo binarne, wielowymiarowe

CHAID 1993 SPSSInc. dowolne

IND 1993 Bruntine, Caruana dowolne

SADT 1993 Heat,Kasif,Salzberg binarne, wielowymiarowe

SE-LEARN 1993 Rymonn dowolne

OC1 1994 Murthy binarne, wielowymiarowe

1. ID3 - cechuj¡cy si¦ prostot¡, ale wymagaj¡cy kompletnych danych i nie pozwalaj¡cy na szum w danych. Ponadto zakªada, »e dane s¡ danymi dyskretnymi, nie za± ci¡gªymi.

2. C 4.5 - b¦d¡cy rozszerzeniem algorytmu ID3 i rozwi¡zuj¡cy wi¦kszo±¢

problemów algorytmu ID3 (braki w danych, dane ci¡gªe, mo»liwo±¢ przy- cinania drzew gdy si¦ zbytnio rozrastaj¡ (ang. pruning)).

3. CART (Classication and Regression Trees) - stosuje w budowie drzewa indeks Giniego, miar¦ entropii i reguª¦ podziaªu na dwie cz¦±ci (twoing rule). Cech¡ charakterystyczn¡ metody jest nadmierny rozrost drzewa i przycinanie (pruning) poszczególnych gaª¦zi w celu redukcji opisu li±ci (przy nieznacznym wzro±cie bª¦du klasykacji). Pozwala to na porównanie modelu rozbudowanego i modelu ze zredukowan¡ liczb¡ w¦zªów, czasami bowiem o jako±ci drzewa nie decyduje trafno±¢ predykcji, ale przydatno±¢

wygenerowanych reguª.

4. CHAID to algorytm AID (Automatic Interaction Detection) wykorzystu- j¡cy test niezale»no±ci chi-kwadrat. Na ka»dym etapie podziaªu drzewa tworzy si¦ tabel¦ kontyngencji, w której zestawia si¦ zmienn¡ obja±nian¡

(zale»n¡) i obja±niaj¡c¡. Je±li zmienna obja±niana ma d > 2 kategorii, a obja±niaj¡ca c > 2 kategorii, to d¡»y si¦ do redukcji tabeli kontyn- gencji o wymiarach d × c do bardziej istotnej (z punktu widzenia testu

2™ródªo: Gatnar E.: Symboliczne metody klasykacji danych, PWN, 1998, Polska

(4)

niezale»no±ci chi-kwadrat) o wymiarach d × j, przez ª¡czenie w dozwolony sposób kategorii zmiennej obja±niaj¡cej. Oryginalny CHAID pozwala bu- dowa¢ modele dyskryminacyjne, czyli takie, których zmienna obja±niana jest zmienn¡ nominaln¡.

2.3 Cel budowy drzew

Drzewo budujemy po to by potem móc klasykowa¢ nowe przypadki (przyszªe obserwacje), o których nie mamy informacji o przynale»no±ci klasowej. Budo- wane drzewo powinno by¢ jak najmniejsze, wi¦kszo±¢ algorytmów dodatkowo dokonuje porz¡dkowania drzewa (prunning), polegaj¡cego na usuwaniu tych jego fragmentów, które maj¡ niewielkie znaczenie dla jako±ci rezultatów klasy-

kacji.

2.4 Problemy ?

Ka»dy algorytm tworz¡cy drzewa klasykacyjne musi zatem rozwi¡za¢ 3 pro- blemy:

ˆ jak wybra¢ jedn¡ lub kilka cech, w oparciu o które nast¡pi podziaª zbioru obiektów?

ˆ kiedy zako«czy¢ podziaª pozostaªego podzbioru obiektów ?

ˆ w jaki sposób przydzieli¢ obiekty znajduj¡ce si¦ w li±ciu drzewa do pewnej klasy ?

3 Wa»ne aspekty budowy drzewa

Zasadniczym problemem jest wybór wªa±ciwego atrybutu do zbudowania ca- ªego testu. Najlepszy wybór to wybór takiego atrybutu, dla którego skrócimy

±cie»k¦ w drzewie prowadz¡c¡ przez ten w¦zeª do li±ci wskazuj¡cych klas¦ decy- zyjn¡.W tym celu, niezb¦dny jest wybór pewniej miary oceniaj¡cej, np. miar¦

przyrostu informacji (ang. information gain). Wykorzystywane jest przy tym zjawisko entropii. Je±li S b¦dzie zbiorem ucz¡cym zawieraj¡cym n przykªadów nale»¡cych do jednej z k klas decyzyjnych oznaczonych przez K1, . . . , Kk, a ni

oznacza liczebno±¢ klasy Ki, wówczas entropia zwi¡zana z klasykacj¡ zbioru S jest zdeniowana jako:

Ent(S) = − Xk i=1

pilg2pi

, gdzie pi jest prawdopodobie«stwem, »e losowo wybrany przykªad z S nale»y do klasy Ki, estymowanym jako nni. Entropia podziaªu zbioru przykªadów S ze wzgl¦du na atrybut a jest zdeniowana jako:

Ent(S|a) = Xp j=1

nSj

n Ent(Sj).

Mo»na stwierdzi¢, »e entropia Ent(S|a) jest ±redni¡ wa»on¡ dla entropii po- szczególnych podzbiorów Sj. Im mniejsza warto±¢ Ent(S|a), tym wi¦ksza jed- norodno±¢ klasykacji dla przykªadów podzielonych na podzbiory. Przyrost

(5)

informacji wynikaj¡cy z zastosowania atrybutu a do zbudowania testu dziel¡- cego zbiór przykªadów ucz¡cych S jest zdeniowany jako ró»nica:

Gain(S, a) = Ent(S) − Ent(S|a).

3.1 Przykªad tworzenia drzewa

Zaªó»my, »e chcemy klasykowa¢ klientów sklepu elektronicznego pod wzgl¦dem tego czy kupi¡ komputer czy nie. Elementy tego zbioru zestawiono w tabeli 2.

Tablica 2: Zbiór przykªadów ucz¡cych opisuj¡cych grup¦ klientów sklepu elek- tronicznego

lp Dochody Student Pªe¢ Kupuje komputer

1 ±rednie tak m¦»czyzna tak

2 ±rednie nie kobieta nie

3 wysokie tak kobieta tak

4 niskie tak m¦»czyzna nie

5 niskie tak kobieta nie

6 ±rednie tak kobieta tak

7 niskie nie kobieta nie

8 ±rednie nie m¦»czyzna nie

W±ród przykªadów wyst¦puje binarna klasykacja. W zwi¡zku z tym miara entropii dla zbioru S wyra»a si¦ wzorem:

Ent(S) = −pT aklg2pT ak− pN ielg2pN ie

Zbiór 8 przykªadów skªada si¦ z 3 przykªadów decyzji T ak i 5 na decyzj¦ Nie.

Odpowiednie prawdopodobie«stwa s¡ równe ptak= 3/8 oraz pnie= 5/8. Warto±¢ entropii zwi¡zanej z binarn¡ klasykacj¡ rozwa»anego zbioru przykªa- dów jest nast¦puj¡ca:

Ent(S) = −(3/8) lg2(3/8) − (5/8) lg2(5/8) = 0.531 + 0.424 = 0.955 . Je±li wybierzemy atrybut dochody do zbudowania korzenia drzewa, a ma on 3 warto±ci: {niskie, rednie, wysokie}.

Pierwszy podzbiór Sniskie = {4, 5, 7} zawiera 3 przykªady, które nale»¡ do klasy decyzyjnej Nie.

Drugi podzbiór S±rednie − {1, 2, 6, 8} zawiera po 2 przykªady z obu klas, pod- czas, gdy podzbiór Swysokie = {3} zªo»ony jest z jednego przykªady z klasy T ak.

Warto±¢ entropii warunkowej ze wzgl¦du na ten atrybut jest nast¦puj¡ca:

Ent(S|dochody) = 38∗ Ent(Sniskie) +48∗ Ent(S±rednie) +18∗ Ent(Swysokie) =

(3

8∗(−0∗log20−1∗log21)+48(−12∗log21212∗log212)+18∗(−0∗log20−1∗log21) = 0 + 0.5 + 0 = 0.5

Przyrost informacji:

GainInf ormation(S, dochody) = Ent(S) − Ent(S|dochody) = 0.955 − 0.5 = 0.455.

Warto±ci miar przyrostu informacji wynikaj¡cych z zastosowania pozostaªych

(6)

dochody niskiemmmm

vvmmmmm wysokie

²² ±rednieQQQQ Q ((Q QQ Q

nie tak student

takmmmmm

vvmmmmm PPPPPnie P''P PP P

tak nie

Rysunek 2: Drzewo decyzyjne dla poj¦cia "kupuj¦ komputer".

atrybutów do budowy korzenia drzewa s¡ nast¦puj¡ce:

Gain(S, student) = 0.348oraz Gain(S, pªe¢) = 0.004.

Podzbiory przykªadów przypisane gaª¦ziom odpowiadaj¡cym warto±ciom niskie oraz wysokie maj¡ jednoznaczne przydziaªy do klas decyzyjnych, dlatego te ga- ª¦zie mo»na zako«czy¢ li±¢mi etykietowanymi odpowiednio klasami tak i nie. W przypadku podzbiorów przykªadów Srednie = {1, 2, 6, 8} nale»y rekurencyjnie wywoªa¢ algorytm. Z dwóch rozwa»anych atrybutów korzystniejszy przyrost informacji pozwala osi¡gn¡¢ atrybut student, którego warto±ci jednoznacznie rozdzielaj¡ podzbiór przykªadów na klas¦ tak(przykªady 1,6) oraz klas¦ nie (odpowiednio pozostaªe przykªady 2,8) .

3.1.1 Problem z miar¡ Information Gain

Niestety miara przyrostu informacji (ang. gain) maj¡c dwa atrybuty do wy- boru, wybierze ten o wi¦kszej liczbie warto±ci. Nie jest to po»¡dana wªa±ciwo±¢, zwªaszcza w sytuacjach mocnego zró»nicowania liczno±ci dziedzin atrybutów opisuj¡cych analizowane przykªady. Je±li rozwa»ymy skrajny przypadek, w któ- rym pewien atrybut b, oznaczaj¡cy np. dat¦ urodzin, ma tyle ró»nych warto±ci, ile jest przykªadów ucz¡cych, atrybut ten zostanie wybrany do zbudowania testu w w¦¹le drzewa, gdy» maksymalizuje on warto±¢ miary Gain(S, b). W rezulta- cie ka»dy z podzbiorów Sizawiera¢ b¦dzie pojedynczy przykªad, co doprowadzi do stworzenia pªaskiego i równocze±nie bardzo szerokiego drzewa. Takie drzewo odwzorowuje dane ucz¡ce, lecz niestety jest maªo czytelne dla u»ytkownika i rów- nocze±nie nie jest u»yteczne do predykcji klasykacji tych przykªadów, które nie s¡ reprezentowane w zbiorze ucz¡cym. Je±li rozwa»ymy test z wykorzystaniem atrybutu b, który oznaczaª pytanie o dat¦ urodzin, to zauwa»my, ze takie py- tanie pozostanie bez odpowiedzi dla nowych przykªadów z inn¡ warto±ci¡ daty ni» te, które wyst¡piªy w zbiorze ucz¡cym.

3.1.2 Inne miary wyboru atrybutów do podziaªu drzewa

W±ród innych mo»liwych do zastosowania miar wyboru atrybutu do podziaªu drzewa s¡:

ˆ Split information zwana podziaªem informacji zaproponowana przez Quinlana, oceniaj¡ca podziaª zbioru przykªadów ze wzgl¦du na warto±ci z

(7)

dziedziny atrybutu a. Jest zdeniowana w nast¦puj¡cy sposób:

Split(S|a) = Xr j=1

|Sj|

S ∗ lg2Sj

S ,

gdzie Sj jest podzbiorem przykªadów opisanych j-t¡ warto±ci¡ atrybutu a, r jest liczb¡ ró»nych warto±ci w dziedzinie tego atrybutu.

ˆ ilorazem przyrostu informacji(ang.gain ratio) zaproponowana równie»

przez Quinlana jako miara do normalizacji przyrostu informacji i oceny jako±ci testu w w¦¹le:

Gainratio(S|a) = Gain(S|a) Split(S|a).

Zasada wyboru atrybutu do stworzenia w¦zªa w algorytmie indukcji drzew jest niezmieniona, tzn. zawsze wybiera¢ b¦dziemy ten atrybut, który po- zwala maksymalizowa¢ warto±¢ miary Gain ratio.

4 Binaryzacja drzew decyzyjnych

W przypadku, gdy mamy do czynienia z bardziej zró»nicowanymi danymi, (nie tylko jako±ciowymi) o maªym zbiorze warto±ci, cz¦sto modykuje si¦ podsta- wowy schemat algorytmu, tak, aby generowa¢ binarne drzewa decyzyjne. Bi- narne drzewo decyzyjne charakteryzuje si¦ tym, »e z ka»dego jego wewn¦trz- nego w¦zªa wychodz¡ jedynie dwie kraw¦dzie, czyli ka»dy zbiór przykªadów zwi¡zany z w¦zªem dzieli si¦ na dwa rozª¡czne podzbiory. Taki rodzaj drzew ogranicza wyst¡pienie zjawiska fragmentacji danych, tj. stopniowego podziaªu zbioru przykªadów na coraz mniejsze podzbiory, które mog¡ zawiera¢ zbyt maª¡

liczb¦ przykªadów. Konstruowanie binarnych drzew decyzyjnych wi¡»e si¦ z innymi sposobami tworzenia testów do umieszczenia w w¦¹le drzew, tak, aby odpowiedzi na test byªy zawsze dwuwarto±ciowe, np. prawda lub faªsz.

5 Post¦powanie w przypadku brakuj¡cych war- to±ci atrybutów

Rzeczywiste dane mog¡ zawiera¢ nieznane (niezdeniowane) warto±ci cz¦±ci atrybutów (ang. unknown values of attributes) dla niektórych obiektów. Sy- tuacje takie mog¡ wynika¢ z bª¦dów podczas rejestracji danych, zagubienia zapisów b¡d¹ niedost¦pno±ci pewnych informacji. Wyst¦powanie niezdenio- wanych warto±ci atrybutów wpªywa zarówno na sam proces budowy drzewa, jak i na pó¹niejsze u»ycie go do klasykowania nowych lub testowych obiek- tów. Cz¦±¢ metod stosowana jest we wst¦pnym przetwarzaniu danych przed u»yciem wªa±ciwego algorytmu indukcji. Wiele z nich jest ukierunkowanych na zast¦powanie nieznanej warto±ci atrybutu dla okre±lonego przykªadu warto±ci¡

z dziedziny tego atrybutu. U»ywa si¦ najcz¦±ciej wyst¦puj¡cej warto±ci atry- butu, okre±lonej na podstawie przykªadów z peªnym opisem lub podzbioru tych przykªadów nale»¡cych do tej samej klasy decyzyjnej co analizowany przykªad.

(8)

6 Budowa i analiza drzew klasykacyjnych w ±ro- dowisku R

W pakiecie R metoda wyznaczania drzew decyzyjnych dost¦pna jest w wielu ró»- nych funkcjach. Popularnie wykorzystywane s¡ funkcje tree(tree), rpart(rpart) oraz cpart(party). Szczegóªowe opisy pakietów s¡ dost¦pne w lokalizacjach:

ˆ tree http://cran.r-project.org/web/packages/tree/tree.pdf,

ˆ rpart zaktualizowany 3 stycznia 2010 roku: http://cran.r-project.

org/web/packages/rpart/rpart.pdf.

Gdyby±my chcieli zbudowa¢ drzewo klasykacyjne dla dobrze znanego nam ju»

zbioru iris, przy czym jako zbiór ucz¡cy wybra¢ chcielibysmy pierwsze 75 ob- serwacji formuªa ±rodowiska R do wykonania tego zadania b¦dzie miaªa posta¢

nast¦puj¡c¡:

> sub <-c(sample(1:150,75))

> library(rpart)

> fit<-rpart(Species~.,data=iris,subset=sub)

Efektem b¦dzie tekstowo rozpisane drzewo z zagnie»d»eniami odpowiadaj¡cymi za- gnie»d»eniom w drzewie (podw¦zªy).

> fit n= 75

node), split, n, loss, yval, (yprob)

* denotes terminal node

1) root 75 49 setosa (0.34666667 0.32000000 0.33333333)

2) Petal.Length< 2.45 26 0 setosa (1.00000000 0.00000000 0.00000000) * 3) Petal.Length>=2.45 49 24 virginica (0.00000000 0.48979592 0.51020408)

6) Petal.Width< 1.55 22 0 versicolor (0.00000000 1.00000000 0.00000000) * 7) Petal.Width>=1.55 27 2 virginica (0.00000000 0.07407407 0.92592593) * Opis drzewa ma odpowiedni format:

node), split, n, loss, yval, (yprob)

* denotes terminal node

gdzie: node) oznacza numer w¦zªa, split - nazw¦ cechy, która dokonaªa po- dziaªu, n - liczb¦ elementów danego w¦zªa, loss - liczb¦ bª¦dnie klasykowanych elementów stosuj¡c reguª¦ wi¦kszo±ciow¡. yval b¦dzie odpowiada¢ warto±ci pre- dykcji przynale»no±ci klasowej na podstawie reguªy wi¦kszo±ciowej, (yprob) z kolei b¦dzie przedstawia¢ wektor estymatorów prawdopodobie«stw przynale»no-

±ci do danej klasy. Nazwy klas b¦d¡ uporz¡dkowane leksykogracznie. W opisie takim * oznacza element b¦d¡cy li±ciem w drzewie. Widzimy zatem, »e drzewo tak utworzone ma 7 w¦zªów licz¡c z korzeniem drzewa. Widzimy 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 do klasykacji obiektu speªniaj¡cego ten warunek do klasy setosa.

Takich elementów znaleziono 26. Je±li za± warto±¢ Petal.Length jest wi¦ksza

(9)

b¡d¹ równa warto±ci 2.45 wówczas b¦dziemy musieli sprawdzi¢ dodatkowy wa- runek dla cechy Petal.Width. Gdy teraz warto±¢ tej cechy b¦dzie mniejsza ni»

1.55obiekt zostanie przypisany do klasy versicolor, w przeciwnym przypadku do klasy virginica. Nale»y zwróci¢ uwag¦ na fakt, »e takie drzewo zbudowano do 75 elementów ze zbioru iris. Dla innego drzewa, chocia»by o wi¦kszym rozmiarze powstaªe drzewo mo»e wygl¡da¢ zupeªnie inaczej.

Jednak, je±li takie przedstawienie drzewa decyzyjnego utworzonego dla zbioru iris jest dla nas nieczytelne mo»emy wykorzysta¢ zasoby dodatkowych pakie- tów ±rodowiska R, np rattle, który po zainstalowaniu musi by¢ oczywi±cie zaªadowany do ±rodowiska R. Dokonujemy tego wywoªuj¡c jedn¡ komend¦ R:

> library(rattle)

Teraz wywoªuj¡c ju» komend¦ pakietu rattle o nazwie drawTreeNodes a konkretnie:

drawTreeNodes(fit, col = NULL, nodeinfo = FALSE,decimals = 2, print.levels = TRUE, new = TRUE)

otrzymujemy w efekcie drzewo takie jak przedstawia to rysunek 3.

Petal.Length < − > 2.45

setosa 26 obs 100%

2 Petal.Width < − > 1.55

versicolor 22 obs 100%

6

virginica 27 obs 92.6%

7

Rysunek 3: Drzewo decyzyjne

Mo»emy tak»e posili¢ si¦ standardowymi funkcjami ±rodowiska R, które dostarczaj¡ bardzo szczegóªowych wyników. Co ciekawe wyrysowanie wyniko- wego drzewa jest mo»liwe przez wywoªanie kolejno po sobie dwóch komend R:

plot(fit) oraz text(fit). Efektem tego b¦dzie otrzymane drzewo decyzyjne w tzw. formacie tekstowym. Szczegóªowych wyników za± dostarcza funkcja summary, której wywoªanie i wyniki tego wywoªania mo»emy zauwa»y¢ poni»ej.

> summary(fit) Call:

rpart(formula = Species ~ ., data = iris, subset = sub)

(10)

n= 75

CP nsplit rel error xerror xstd 1 0.5102041 0 1.00000000 1.18367347 0.07399660 2 0.4489796 1 0.48979592 0.57142857 0.08548723 3 0.0100000 2 0.04081633 0.06122449 0.03463380

Node number 1: 75 observations, complexity param=0.5102041 predicted class=setosa expected loss=0.6533333

class counts: 26 24 25 probabilities: 0.347 0.320 0.333 left son=2 (26 obs) right son=3 (49 obs) Primary splits:

Petal.Length < 2.45 to the left, improve=25.48354, (0 missing) Petal.Width < 0.8 to the left, improve=25.48354, (0 missing) Sepal.Length < 5.55 to the left, improve=15.29298, (0 missing) Sepal.Width < 3.25 to the right, improve=12.71602, (0 missing) Surrogate splits:

Petal.Width < 0.8 to the left, agree=1.000, adj=1.000, (0 split) Sepal.Length < 5.45 to the left, agree=0.880, adj=0.654, (0 split) Sepal.Width < 3.25 to the right, agree=0.867, adj=0.615, (0 split) Node number 2: 26 observations

predicted class=setosa expected loss=0

class counts: 26 0 0

probabilities: 1.000 0.000 0.000

Node number 3: 49 observations, complexity param=0.4489796 predicted class=virginica expected loss=0.4897959

class counts: 0 24 25 probabilities: 0.000 0.490 0.510 left son=6 (22 obs) right son=7 (27 obs) Primary splits:

Petal.Width < 1.55 to the left, improve=20.786090, (0 missing) Petal.Length < 4.85 to the left, improve=17.143130, (0 missing) Sepal.Length < 6.25 to the left, improve= 6.369796, (0 missing) Sepal.Width < 2.95 to the left, improve= 1.320830, (0 missing) Surrogate splits:

Petal.Length < 4.75 to the left, agree=0.939, adj=0.864, (0 split) Sepal.Length < 5.75 to the left, agree=0.755, adj=0.455, (0 split) Sepal.Width < 2.45 to the left, agree=0.653, adj=0.227, (0 split) Node number 6: 22 observations

predicted class=versicolor expected loss=0

class counts: 0 22 0

probabilities: 0.000 1.000 0.000 Node number 7: 27 observations

predicted class=virginica expected loss=0.07407407

class counts: 0 2 25

probabilities: 0.000 0.074 0.926

>

(11)

Graczne przedstawienie reguªy klasykacyjnej zadanej przez drzewo mo»- liwe jest dzi¦ki instrukcji R postaci rpart(y~x,data="",cp=0.03,minisplit=5), która dla naszego zbioru iris mo»e wygl¡da¢ nast¦puj¡co:

rpart(Species~.,data=iris,cp=0.03) n= 150

node), split, n, loss, yval, (yprob)

* denotes terminal node

1) root 150 100 setosa (0.33333333 0.33333333 0.33333333)

2) Petal.Length< 2.45 50 0 setosa (1.00000000 0.00000000 0.00000000) * 3) Petal.Length>=2.45 100 50 versicolor (0.00000000 0.50000000 0.50000000)

6) Petal.Width< 1.75 54 5 versicolor (0.00000000 0.90740741 0.09259259) * 7) Petal.Width>=1.75 46 1 virginica (0.00000000 0.02173913 0.97826087) *

>

Zagadnieniem niezwykle istotnym jest okre±lenie kryterium budowy drzewa optymalnego. Nale»y sobie zada¢ pytanie, co rozumiemy przez drzewo opty- malne, czy jest to drzewo o najmniejszej liczbie w¦zªów, czy mo»e drzewo o naj- mniejszej wysoko±ci, czy jeszcze inne warunki b¦d¡ okre±la¢ optymalno±¢ drzewa

? Proponujemy, wykorzystanie informacji o bª¦dach krosswalidacyjnych. Przy u»yciu funkcji printcp mo»emy otrzyma¢ informacje o wielko±ciach poddrzew optymalnych w zale»no±ci od warto±ci cp (patrz na kod poni»ej).

> printcp(fit) Classification tree:

rpart(formula = Species ~ ., data = iris, subset = sub) Variables actually used in tree construction:

[1] Petal.Length Petal.Width Root node error: 49/75 = 0.65333 n= 75

CP nsplit rel error xerror xstd 1 0.51020 0 1.000000 1.183673 0.073997 2 0.44898 1 0.489796 0.571429 0.085487 3 0.01000 2 0.040816 0.061224 0.034634

> plotcp(fit)

>

Efektem b¦dzie wªa±nie wykres tych bª¦dow krosswalidacyjnych (rysunek 4)

Funkcja printcp zwraca warto±¢ xerror, która jest ilorazem SSEcv dla danego drzewa i SSE dla korzenia. Zwraca te» bª¡d standardowy std (xstd).

B¦dziemy ostatecznie wybiera¢ jedn¡ z dwóch opcji:

1. drzewo z najmniejsz¡ warto±ci¡ xerror (xerrormin),

2. drzewo o najmniejszej liczbie podziaªów, gdzie xerror < xerrormin + xstdmin.

(12)

cp X−val Relative Error 0.00.20.40.60.81.01.21.4

Inf 0.48 0.067

1 2 3

size of tree

Rysunek 4: Wykres bª¦dów krosswalidacyjnych

Minimalna warto±¢ xerror w naszym przypadku to 0.061224, wi¦c drzewo o minimalnej liczbie li±ci musi mie¢ xerror mniejszy ni» xerrormin+ xstdmin= 0.061+0.034 = 0.095. Czyli szukamy drzewa, które ma warto±¢ xerror mniejsz¡

ni» 0.095. B¦dzie to opcja z 1 lub 2 podziaªami.

7 Bibliograa

Opracowanie przygotowano w oparciu o prace:

1. J. Koronacki, J. ‚wik: Statystyczne systemy ucz¡ce si¦, wydanie drugie, Exit, Warsaw, 2008, rozdziaª 4.

2. J. ‚wik, J. Mielniczuk: Statystyczne systemy ucz¡ce si¦ - ¢wiczenia w oparciu o pakiet R, Ocyna Wydawnicza PW, Warszawa, 2009.

3. Biecek P.: Na przeªaj przez Data Mining, http://www.biecek.pl/R/

naPrzelajPrzezDM.pdf

4. Koronacki J. and Mielniczuk J., Statystyka dla studentów kierunków tech- nicznych i przyrodniczych. Wydawnictwa Naukowo-Techniczne, Warszawa, Polska, 2006.

Cytaty

Powiązane dokumenty

The second melody was transformed in retrograde form. This transfor- mation is associated with the reection symmetry with regard to the vertical line. The last melody was

Ka¿dy gracz jest wiêc w stanie przewidzieæ poziom inflacji w zale¿noœci od decyzji w³asnej oraz pozosta³ych graczy... W dalszej analizie zajmowaæ siê bêdziemy

On the basis of the tests and the results obtained, it will be possible to analyze and assess the influence of the angle of inclination of the excavation on the loading efficiency as

The article attempted to identify, characterize, and evaluate various antistatic processing realization methods of plastics commonly utilized in hard coal mining.. It could seem

Holomorczna krzywizna bisekcyjna dla metryki kählerowskiej g p¯ q , wyra»a si¦ wzorem.. Holomorczna krzywizna bisekcyjna nie zale»y od dªugo±ci wektorów X, Y , tylko od

This thesis presents a method for modeling and optimization of exploitation works in a multi-plant mining enterprise. This method can be used in the evaluation of design

[r]

[r]