12.07.2015 Views

Drzewa klasyfikacyjne 1 Wprowadzenie 2 Drzewa klasyfikacyjne

Drzewa klasyfikacyjne 1 Wprowadzenie 2 Drzewa klasyfikacyjne

Drzewa klasyfikacyjne 1 Wprowadzenie 2 Drzewa klasyfikacyjne

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Drzewa</strong> klasykacyjneKonspekt do zaj¦¢: Statystyczne metody analizy danychAgnieszka Nowak-Brzezi«ska11 stycznia 20101 <strong>Wprowadzenie</strong><strong>Drzewa</strong> klasykacyjne 1 jako reprezentacja wiedzy o klasykacji s¡ do±¢ atrakcyjnei popularno±¢, jak¡ ciesz¡ si¦ wykorzystuj¡ce je algorytmy uczenia si¦poj¦¢, jest uzasadniona ich istotnymi zaletami. Po pierwsze, mog¡ one reprezentowa¢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ªadów.Mówi¡c bardziej precyzyjnie, za pomoc¡ drzewa, mo»e by¢ reprezentowanadowolna funkcja odwzorowuj¡ca warto±ci wszystkich okre±lonych na dziedzinieatrybutów na zbiór kategorii, czyli dowolna dopuszczalna hipoteza. Reprezentacjawykorzystuj¡ca drzewa, jest przy tym, dla typowych poj¦¢, do±¢ efektywnapami¦ciowo, a tak»e, co na pewno zasªuguje na uwag¦, drzewa takie umo»liwiaj¡niezwykle efektywn¡ implementacj¦ procesu klasykowania przykªadów.Ponadto istnieje ªatwe przej±cie od drzewa do reprezentacji reguªowej uwa»anejprzez wielu, za najbardziej czyteln¡.Cel zaj¦¢Celem zaj¦¢ jest poznanie metod budowy i analizy drzew klasykacyjnych przyu»yciu ±rodowiska R.2 <strong>Drzewa</strong> klasykacyjneDrzewem decyzyjnym (klasykacyjnym) okre±limy drzewo reprezentuj¡ce procespodziaªu zbioru obiektów na jednorodne klasy. W takim drzewie wewn¦trznew¦zªy b¦d¡ opisywa¢ sposób dokonania podziaªu na jednorodne klasy (dokonywanyw oparciu o warto±ci cech obiektów), a li±cie klasom, do których obiektynale»¡. Z kolei kraw¦dzie drzewa reprezentuj¡ warto±ci cech, na podstawie którychdokonano podziaªu. Przykªad drzewa decyzyjnego przedstawia rysunek 1.2.1 Proces tworzenia drzewaCelem jest oczywi±cie zbudowanie drzewa jak najmniejszego (o minimalnej liczbiew¦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¦stotak»e: drzewa regresyjne, drzewa dyskryminacyjne1


stopaprocentowawzrostzysk przedsi¦biorstwaspadekCeny akcjispadaj¡poziomcen akcjispadek Ceny akcjispadaj¡wzrost spadekstopaprocentowaCeny akcjirosn¡Rysunek 1: Drzewo decyzyjne - klasykacyjnewzrostwzrostzysk przedsi¦biorstwa1. Maj¡c zbiór obiektów S, sprawd¹, czy nale»¡ one do tej samej klasy. Je±litak, to zako«cz prac¦.2. W przeciwnym przypadku rozwa» wszystkie mo»liwe podziaªy zbioru S napodzbiory S 1 , S 2 , ...S n tak, aby byªy one jak najbardziej jednorodne.3. Dokonaj oceny jako±ci ka»dego z tych podziaªów zgodnie z przyj¦tym kryteriumi 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 przynale»no±ciobiektów do klas w odniesieniu do drzewa przedstawionego na rysunku1:ˆ W przypadku spadku cen akcji: "je»eli stopa procentowa ro±nie i zyskiprzedsi¦biorstw spadaj¡ to ceny akcji spadaj¡"ˆ w przypadku wzrostu cen akcji: "je»eli stopa procentowa spada, lub je±listopa procentowa ro±nie ale jednocze±nie rosn¡ zyski przedsi¦biorstw rosn¡to ceny akcji rosn¡."2.2 Rodzaje drzew klasykacyjnychRó»nice dotycz¡ postaci funkcji oceniaj¡cej jako±ci podziaªu, sposobu klasykacjiobiektó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¡ jedyniedwie kraw¦dzie,2


ˆ 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 podziaªemna binarne i dowolne. Najpopularniejsze stosowane algorytmy to:Tablica 1: Rodzaje algorytmów tworzenia drzew decyzyjnychNAZWA ROK AUTORZY RODZAJ DRZEWACLS 1996 Hunt,Marin, Stone binarneACLS 1982 Paterson, Niblett binarneID3 1983 Quinlan dowolneCART 1984 Brieman, FriedmanOlshen, Stone binarneASSISTANT 1985 Kononenko binarneID4 1986 Schlimmer, Fisdher dowolnePLS 1986 Rendell dowolneC4 1987 Quinlan dowolneGID 3 1988 Chengf, Fayyad,Irani dowolneID5 1989 Utgo dowolneLMDT 1991 Brodley, Utgo binarne, wielowymiaroweCHAID 1993 SPSSInc. dowolneIND 1993 Bruntine, Caruana dowolneSADT 1993 Heat,Kasif,Salzberg binarne, wielowymiaroweSE-LEARN 1993 Rymonn dowolneOC1 1994 Murthy binarne, wielowymiarowe1. ID3 - cechuj¡cy si¦ prostot¡, ale wymagaj¡cy kompletnych danych i niepozwalaj¡cy na szum w danych. Ponadto zakªada, »e dane s¡ danymidyskretnymi, 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±¢ przycinaniadrzew gdy si¦ zbytnio rozrastaj¡ (ang. pruning)).3. CART (Classication and Regression Trees) - stosuje w budowie drzewaindeks Giniego, miar¦ entropii i reguª¦ podziaªu na dwie cz¦±ci (twoingrule). Cech¡ charakterystyczn¡ metody jest nadmierny rozrost drzewai przycinanie (pruning) poszczególnych gaª¦zi w celu redukcji opisu li±ci(przy nieznacznym wzro±cie bª¦du klasykacji). Pozwala to na porównaniemodelu rozbudowanego i modelu ze zredukowan¡ liczb¡ w¦zªów, czasamibowiem o jako±ci drzewa nie decyduje trafno±¢ predykcji, ale przydatno±¢wygenerowanych reguª.4. CHAID to algorytm AID (Automatic Interaction Detection) wykorzystuj¡cytest niezale»no±ci chi-kwadrat. Na ka»dym etapie podziaªu drzewatworzy 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 kontyngencjio wymiarach d × c do bardziej istotnej (z punktu widzenia testu2ródªo: Gatnar E.: Symboliczne metody klasykacji danych, PWN, 1998, Polska3


niezale»no±ci chi-kwadrat) o wymiarach d × j, przez ª¡czenie w dozwolonysposób kategorii zmiennej obja±niaj¡cej. Oryginalny CHAID pozwala budowa¢modele dyskryminacyjne, czyli takie, których zmienna obja±nianajest zmienn¡ nominaln¡.2.3 Cel budowy drzewDrzewo budujemy po to by potem móc klasykowa¢ nowe przypadki (przyszªeobserwacje), o których nie mamy informacji o przynale»no±ci klasowej. Budowanedrzewo powinno by¢ jak najmniejsze, wi¦kszo±¢ algorytmów dodatkowodokonuje porz¡dkowania drzewa (prunning), polegaj¡cego na usuwaniu tychjego 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 problemy:ˆ jak wybra¢ jedn¡ lub kilka cech, w oparciu o które nast¡pi podziaª zbioruobiektów?ˆ kiedy zako«czy¢ podziaª pozostaªego podzbioru obiektów ?ˆ w jaki sposób przydzieli¢ obiekty znajduj¡ce si¦ w li±ciu drzewa do pewnejklasy ?3 Wa»ne aspekty budowy drzewaZasadniczym 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¦ decyzyjn¡.Wtym celu, niezb¦dny jest wybór pewniej miary oceniaj¡cej, np. miar¦przyrostu informacji (ang. information gain). Wykorzystywane jest przy tymzjawisko entropii. Je±li S b¦dzie zbiorem ucz¡cym zawieraj¡cym n przykªadównale»¡cych do jednej z k klas decyzyjnych oznaczonych przez K 1 , . . . , K k , a n ioznacza liczebno±¢ klasy K i , wówczas entropia zwi¡zana z klasykacj¡ zbioruS jest zdeniowana jako:Ent(S) = −k∑p i lg 2 p i, gdzie p i jest prawdopodobie«stwem, »e losowo wybrany przykªad z S nale»ydo klasy K i , estymowanym jako n in. Entropia podziaªu zbioru przykªadów S zewzgl¦du na atrybut a jest zdeniowana jako:Ent(S|a) =p∑j=1i=1n Sjn Ent(S j).Mo»na stwierdzi¢, »e entropia Ent(S|a) jest ±redni¡ wa»on¡ dla entropii poszczególnychpodzbiorów S j . Im mniejsza warto±¢ Ent(S|a), tym wi¦ksza jednorodno±¢klasykacji dla przykªadów podzielonych na podzbiory. Przyrost4


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 drzewaZaªó»my, »e chcemy klasykowa¢ klientów sklepu elektronicznego pod wzgl¦demtego 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 elektronicznegolp Dochody Student Pªe¢ Kupuje komputer1 ±rednie tak m¦»czyzna tak2 ±rednie nie kobieta nie3 wysokie tak kobieta tak4 niskie tak m¦»czyzna nie5 niskie tak kobieta nie6 ±rednie tak kobieta tak7 niskie nie kobieta nie8 ±rednie nie m¦»czyzna nieW±ród przykªadów wyst¦puje binarna klasykacja. W zwi¡zku z tym miaraentropii dla zbioru S wyra»a si¦ wzorem:Ent(S) = −p T ak lg 2 p T ak − p Nie lg 2 p NieZbió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 p tak = 3/8 oraz p nie = 5/8.Warto±¢ entropii zwi¡zanej z binarn¡ klasykacj¡ rozwa»anego zbioru przykªadówjest nast¦puj¡ca:Ent(S) = −(3/8) lg 2 (3/8) − (5/8) lg 2 (5/8) = 0.531 + 0.424 = 0.955. Je±li wybierzemy atrybut dochody do zbudowania korzenia drzewa, a ma on 3warto±ci: {niskie, rednie, wysokie}.Pierwszy podzbiór Sniskie = {4, 5, 7} zawiera 3 przykªady, które nale»¡ do klasydecyzyjnej Nie.Drugi podzbiór S±rednie − {1, 2, 6, 8} zawiera po 2 przykªady z obu klas, podczas,gdy podzbiór Swysokie = {3} zªo»ony jest z jednego przykªady z klasyT ak.Warto±¢ entropii warunkowej ze wzgl¦du na ten atrybut jest nast¦puj¡ca:Ent(S|dochody) = 3 8 ∗ Ent(S niskie ) + 4 8 ∗ Ent(S ±rednie ) + 1 8 ∗ Ent(S wysokie ) =(38 ∗(−0∗log 2 0−1∗log 2 1)+ 4 8 (− 1 2 ∗log 2 1 2 − 1 2 ∗log 2 1 2 )+ 1 8 ∗(−0∗log 2 0−1∗log 2 1) =0 + 0.5 + 0 = 0.5Przyrost informacji:GainInformation(S, dochody) = Ent(S) − Ent(S|dochody) = 0.955 − 0.5 =0.455.Warto±ci miar przyrostu informacji wynikaj¡cych z zastosowania pozostaªych5


dochodyniskie wysokie ±rednienie tak studenttaktak nienieRysunek 2: Drzewo decyzyjne dla poj¦cia "kupuj¦ komputer".atrybutów do budowy korzenia drzewa s¡ nast¦puj¡ce:Gain(S, student) = 0.348 oraz Gain(S,pªe¢) = 0.004.Podzbiory przykªadów przypisane gaª¦ziom odpowiadaj¡cym warto±ciom niskieoraz wysokie maj¡ jednoznaczne przydziaªy do klas decyzyjnych, dlatego te ga-ª¦zie mo»na zako«czy¢ li±¢mi etykietowanymi odpowiednio klasami tak i nie. Wprzypadku podzbiorów przykªadów S rednie = {1, 2, 6, 8} nale»y rekurencyjniewywoªa¢ algorytm. Z dwóch rozwa»anych atrybutów korzystniejszy przyrostinformacji pozwala osi¡gn¡¢ atrybut student, którego warto±ci jednoznacznierozdzielaj¡ 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 GainNiestety miara przyrostu informacji (ang. gain) maj¡c dwa atrybuty do wyboru,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ówopisuj¡cych analizowane przykªady. Je±li rozwa»ymy skrajny przypadek, w którympewien 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 testuw w¦¹le drzewa, gdy» maksymalizuje on warto±¢ miary Gain(S, b). W rezultacieka»dy z podzbiorów S i zawiera¢ b¦dzie pojedynczy przykªad, co doprowadzido stworzenia pªaskiego i równocze±nie bardzo szerokiego drzewa. Takie drzewoodwzorowuje dane ucz¡ce, lecz niestety jest maªo czytelne dla u»ytkownika i równocze±nienie jest u»yteczne do predykcji klasykacji tych przykªadów, które nies¡ reprezentowane w zbiorze ucz¡cym. Je±li rozwa»ymy test z wykorzystaniematrybutu b, który oznaczaª pytanie o dat¦ urodzin, to zauwa»my, ze takie pytaniepozostanie bez odpowiedzi dla nowych przykªadów z inn¡ warto±ci¡ datyni» te, które wyst¡piªy w zbiorze ucz¡cym.3.1.2 Inne miary wyboru atrybutów do podziaªu drzewaW±ród innych mo»liwych do zastosowania miar wyboru atrybutu do podziaªudrzewa s¡:ˆ Split information zwana podziaªem informacji zaproponowana przezQuinlana, oceniaj¡ca podziaª zbioru przykªadów ze wzgl¦du na warto±ci z6


dziedziny atrybutu a. Jest zdeniowana w nast¦puj¡cy sposób:Split(S|a) =r∑j=1|S j |S ∗ lg S j2S ,gdzie S j jest podzbiorem przykªadów opisanych j-t¡ warto±ci¡ atrybutua, 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 ocenyjako±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 drzewjest niezmieniona, tzn. zawsze wybiera¢ b¦dziemy ten atrybut, który pozwalamaksymalizowa¢ warto±¢ miary Gain ratio.4 Binaryzacja drzew decyzyjnychW przypadku, gdy mamy do czynienia z bardziej zró»nicowanymi danymi, (nietylko jako±ciowymi) o maªym zbiorze warto±ci, cz¦sto modykuje si¦ podstawowyschemat algorytmu, tak, aby generowa¢ binarne drzewa decyzyjne. Binarnedrzewo decyzyjne charakteryzuje si¦ tym, »e z ka»dego jego wewn¦trznegow¦zªa wychodz¡ jedynie dwie kraw¦dzie, czyli ka»dy zbiór przykªadówzwi¡zany z w¦zªem dzieli si¦ na dwa rozª¡czne podzbiory. Taki rodzaj drzewogranicza wyst¡pienie zjawiska fragmentacji danych, tj. stopniowego podziaªuzbioru przykªadów na coraz mniejsze podzbiory, które mog¡ zawiera¢ zbyt maª¡liczb¦ przykªadów. Konstruowanie binarnych drzew decyzyjnych wi¡»e si¦ zinnymi sposobami tworzenia testów do umieszczenia w w¦¹le drzew, tak, abyodpowiedzi na test byªy zawsze dwuwarto±ciowe, np. prawda lub faªsz.5 Post¦powanie w przypadku brakuj¡cych warto±ciatrybutówRzeczywiste dane mog¡ zawiera¢ nieznane (niezdeniowane) warto±ci cz¦±ciatrybutów (ang. unknown values of attributes) dla niektórych obiektów. Sytuacjetakie mog¡ wynika¢ z bª¦dów podczas rejestracji danych, zagubieniazapisów b¡d¹ niedost¦pno±ci pewnych informacji. Wyst¦powanie niezdeniowanychwarto±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 obiektów.Cz¦±¢ metod stosowana jest we wst¦pnym przetwarzaniu danych przedu»yciem wªa±ciwego algorytmu indukcji. Wiele z nich jest ukierunkowanych nazast¦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 atrybutu,okre±lonej na podstawie przykªadów z peªnym opisem lub podzbioru tychprzykªadów nale»¡cych do tej samej klasy decyzyjnej co analizowany przykªad.7


6 Budowa i analiza drzew klasykacyjnych w ±rodowiskuRW 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 obserwacjiformuªa ±rodowiska R do wykonania tego zadania b¦dzie miaªa posta¢nast¦puj¡c¡:> sub library(rpart)> fit fitn= 75node), split, n, loss, yval, (yprob)* denotes terminal node1) 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 nodegdzie: node) oznacza numer w¦zªa, split - nazw¦ cechy, która dokonaªa podziaªu,n - liczb¦ elementów danego w¦zªa, loss - liczb¦ bª¦dnie klasykowanychelementów stosuj¡c reguª¦ wi¦kszo±ciow¡. yval b¦dzie odpowiada¢ warto±ci predykcjiprzynale»no±ci klasowej na podstawie reguªy wi¦kszo±ciowej, (yprob) zkolei b¦dzie przedstawia¢ wektor estymatorów prawdopodobie«stw przynale»no-±ci do danej klasy. Nazwy klas b¦d¡ uporz¡dkowane leksykogracznie. W opisietakim * oznacza element b¦d¡cy li±ciem w drzewie. Widzimy zatem, »e drzewotak utworzone ma 7 w¦zªów licz¡c z korzeniem drzewa. Widzimy tak»e, »epierwszym atrybutem wybranym do budowy drzewa jest cecha Petal.Length,która w przypadku, gdy warto±¢ Petal.Length jest mniejsza od 2.45 od razuprowadzi do klasykacji obiektu speªniaj¡cego ten warunek do klasy setosa.Takich elementów znaleziono 26. Je±li za± warto±¢ Petal.Length jest wi¦ksza8


¡d¹ równa warto±ci 2.45 wówczas b¦dziemy musieli sprawdzi¢ dodatkowy warunekdla cechy Petal.Width. Gdy teraz warto±¢ tej cechy b¦dzie mniejsza ni»1.55 obiekt zostanie przypisany do klasy versicolor, w przeciwnym przypadkudo klasy virginica. Nale»y zwróci¢ uwag¦ na fakt, »e takie drzewo zbudowanodo 75 elementów ze zbioru iris. Dla innego drzewa, chocia»by o wi¦kszymrozmiarze powstaªe drzewo mo»e wygl¡da¢ zupeªnie inaczej.Jednak, je±li takie przedstawienie drzewa decyzyjnego utworzonego dla zbioruiris jest dla nas nieczytelne mo»emy wykorzysta¢ zasoby dodatkowych pakietów±rodowiska R, np rattle, który po zainstalowaniu musi by¢ oczywi±ciezaª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 akonkretnie: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.452 Petal.Width < − > 1.55setosa26 obs100%6versicolor22 obs100%7virginica27 obs92.6%Rysunek 3: Drzewo decyzyjneMo»emy tak»e posili¢ si¦ standardowymi funkcjami ±rodowiska R, któredostarczaj¡ bardzo szczegóªowych wyników. Co ciekawe wyrysowanie wynikowegodrzewa jest mo»liwe przez wywoªanie kolejno po sobie dwóch komend R:plot(fit) oraz text(fit). Efektem tego b¦dzie otrzymane drzewo decyzyjnew tzw. formacie tekstowym. Szczegóªowych wyników za± dostarcza funkcjasummary, 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)9


n= 75CP nsplit rel error xerror xstd1 0.5102041 0 1.00000000 1.18367347 0.073996602 0.4489796 1 0.48979592 0.57142857 0.085487233 0.0100000 2 0.04081633 0.06122449 0.03463380Node number 1: 75 observations, complexity param=0.5102041predicted class=setosa expected loss=0.6533333class counts: 26 24 25probabilities: 0.347 0.320 0.333left 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 observationspredicted class=setosa expected loss=0class counts: 26 0 0probabilities: 1.000 0.000 0.000Node number 3: 49 observations, complexity param=0.4489796predicted class=virginica expected loss=0.4897959class counts: 0 24 25probabilities: 0.000 0.490 0.510left 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 observationspredicted class=versicolor expected loss=0class counts: 0 22 0probabilities: 0.000 1.000 0.000Node number 7: 27 observationspredicted class=virginica expected loss=0.07407407class counts: 0 2 25probabilities: 0.000 0.074 0.926>10


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= 150node), split, n, loss, yval, (yprob)* denotes terminal node1) 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 drzewaoptymalnego. Nale»y sobie zada¢ pytanie, co rozumiemy przez drzewo optymalne,czy jest to drzewo o najmniejszej liczbie w¦zªów, czy mo»e drzewo o najmniejszejwysoko±ci, czy jeszcze inne warunki b¦d¡ okre±la¢ optymalno±¢ drzewa? Proponujemy, wykorzystanie informacji o bª¦dach krosswalidacyjnych. Przyu»yciu funkcji printcp mo»emy otrzyma¢ informacje o wielko±ciach poddrzewoptymalnych 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.WidthRoot node error: 49/75 = 0.65333n= 75CP nsplit rel error xerror xstd1 0.51020 0 1.000000 1.183673 0.0739972 0.44898 1 0.489796 0.571429 0.0854873 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 SSE cv dladanego 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 (xerror min ),2. drzewo o najmniejszej liczbie podziaªów, gdzie xerror < xerror min +xstd min .11


size of tree1 2 3X−val Relative Error0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4Inf 0.48 0.067cpRysunek 4: Wykres bª¦dów krosswalidacyjnychMinimalna warto±¢ xerror w naszym przypadku to 0.061224, wi¦c drzewo ominimalnej liczbie li±ci musi mie¢ xerror mniejszy ni» xerror min + xstd min =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 BibliograaOpracowanie 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 woparciu o pakiet R, Ocyna Wydawnicza PW, Warszawa, 2009.3. Biecek P.: Na przeªaj przez Data Mining, http://www.biecek.pl/R/naPrzelajPrzezDM.pdf4. Koronacki J. and Mielniczuk J., Statystyka dla studentów kierunków technicznychi przyrodniczych. Wydawnictwa Naukowo-Techniczne, Warszawa,Polska, 2006.12

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!