Drzewa klasyfikacyjne

Podobne dokumenty
Drzewa klasyfikacyjne

Drzewa klasyfikacyjne

WYKŁAD 11 Uczenie maszynowe drzewa decyzyjne

Moduł: algorytmy sztucznej inteligencji, wykład 3. Agnieszka Nowak Brzezińska

Algorytmy klasyfikacji

Drzewa klasyfikacyjne

SYSTEMY UCZĄCE SIĘ WYKŁAD 3. DRZEWA DECYZYJNE. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska

SZTUCZNA INTELIGENCJA

SAS wybrane elementy. DATA MINING Część III. Seweryn Kowalski 2006

8. Drzewa decyzyjne, bagging, boosting i lasy losowe

Przykład eksploracji danych o naturze statystycznej Próba 1 wartości zmiennej losowej odległość

ALGORYTM RANDOM FOREST

Co to są drzewa decyzji

Agnieszka Nowak Brzezińska Wykład III

PODSTAWY STATYSTYCZNEGO MODELOWANIA DANYCH. Wykład 6 Drzewa klasyfikacyjne - wprowadzenie. Reguły podziału i reguły przycinania drzew.

Uczenie się maszyn. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Drzewa decyzyjne. Inteligentne Obliczenia. Wydział Mechatroniki Politechniki Warszawskiej. Anna Sztyber

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

Drzewa klasyfikacyjne Lasy losowe. Wprowadzenie

Klasyfikacja. Sformułowanie problemu Metody klasyfikacji Kryteria oceny metod klasyfikacji. Eksploracja danych. Klasyfikacja wykład 1

Klasyfikacja obiektów Drzewa decyzyjne (drzewa klasyfikacyjne)

Złożoność i zagadnienia implementacyjne. Wybierz najlepszy atrybut i ustaw jako test w korzeniu. Stwórz gałąź dla każdej wartości atrybutu.

Agnieszka Nowak Brzezińska Wykład III

Data Mining Wykład 4. Plan wykładu

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

INDUKCJA DRZEW DECYZYJNYCH

Metody klasyfikacji danych - część 1 p.1/24

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Drzewa decyzyjne i lasy losowe

Algorytmy metaheurystyczne Wykład 11. Piotr Syga

Agnieszka Nowak Brzezińska

Indukowane Reguły Decyzyjne I. Wykład 3

Testowanie modeli predykcyjnych

Klasyfikator. ˆp(k x) = 1 K. I(ρ(x,x i ) ρ(x,x (K) ))I(y i =k),k =1,...,L,

Data Mining Wykład 5. Indukcja drzew decyzyjnych - Indeks Gini & Zysk informacyjny. Indeks Gini. Indeks Gini - Przykład

Systemy uczące się wykład 2

Drzewa klasyfikacyjne algorytm podstawowy

Eksploracja danych. KLASYFIKACJA I REGRESJA cz. 2. Wojciech Waloszek. Teresa Zawadzka.

Projekt Sieci neuronowe

Indukcja drzew decyzyjnych

Elementy modelowania matematycznego

Algorytmy klasyfikacji

INDUKCJA DRZEW DECYZYJNYCH

PLAN WYKŁADU BAZY DANYCH INDEKSY - DEFINICJE. Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew

Klasyfikacja. Indeks Gini Zysk informacyjny. Eksploracja danych. Klasyfikacja wykład 2

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

ALGORYTMY I STRUKTURY DANYCH

Uczenie maszyn. Projekt: Porównanie algorytmów tworzenia drzew decyzyjnych. Politechnika Wrocławska. Michał Płodowski Michał Suszko

Tadeusz Pankowski

Wprowadzenie do klasyfikacji

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

Drzewa Decyzyjne, cz.2

Hierarchiczna analiza skupień

Konkurs z przedmiotu eksploracja i analiza danych: problem regresji i klasyfikacji

METODY INŻYNIERII WIEDZY

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

Optymalizacja ciągła

Indukowane Reguły Decyzyjne I. Wykład 8

Wprowadzenie do uczenia maszynowego

METODY INŻYNIERII WIEDZY

Klasyfikacja LDA + walidacja

Sztuczna Inteligencja Projekt

Podejmowanie decyzji i zarządzanie finansami. Martyna Zazga


METODY INŻYNIERII WIEDZY

Wstęp. Cechy: Spis treści

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

Wybrane zagadnienia uczenia maszynowego. Zastosowania Informatyki w Informatyce W2 Krzysztof Krawiec

Algorytmy klasteryzacji jako metoda dyskretyzacji w algorytmach eksploracji danych. Łukasz Przybyłek, Jakub Niwa Studenckie Koło Naukowe BRAINS

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

WYKŁAD: DRZEWA KLASYFIKACYJNE I REGRESYJNE. Metoda CART. MiNI PW

Aproksymacja funkcji a regresja symboliczna

166 Wstęp do statystyki matematycznej

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

WSTĘP DO INFORMATYKI. Drzewa i struktury drzewiaste

Sztuczna Inteligencja Projekt

Systemy uczące się Lab 4

Drzewa decyzyjne. 1. Wprowadzenie.

Metody probabilistyczne klasyfikatory bayesowskie

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Algorytmy i struktury danych Laboratorium 7. 2 Drzewa poszukiwań binarnych

Temat: Algorytm kompresji plików metodą Huffmana

TEORETYCZNE PODSTAWY INFORMATYKI

Systemy decyzyjne Wyk lad 4: Drzewa decyzyjne

Statystyka i opracowanie danych Podstawy wnioskowania statystycznego. Prawo wielkich liczb. Centralne twierdzenie graniczne. Estymacja i estymatory

Kompresja bezstratna. Entropia. Kod Huffmana

SZTUCZNA INTELIGENCJA

Definicja pliku kratowego

Grafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz

Reguły decyzyjne, algorytm AQ i CN2. Reguły asocjacyjne, algorytm Apriori.

ALGORYTMY I STRUKTURY DANYCH

Drzewa decyzyjne. Nguyen Hung Son. Nguyen Hung Son () DT 1 / 34

Metody selekcji cech

WYKŁAD 6. Reguły decyzyjne

3.2 Wykorzystanie drzew do generowania pytań

Automatyczne wyodrębnianie reguł

Mail: Pokój 214, II piętro

Transkrypt:

Drzewa klasyfikacyjne Agnieszka Nowak Brzezińska Wykład VII

Drzewo klasyfikacyjne Składa się z korzenia, z którego wychodzą co najmniej dwie krawędzie do węzłów leżących na niższym poziomie. Z każdym węzłem związane jest pytanie o wartości cech, jeśli np. pewien obiekt posiada te wartości, przenosi się go w dół odpowiednią krawędzią. Węzły, z których nie wychodzą już żadne krawędzie, to liście, które reprezentują klasy.

Definicje Drzewo to graf bez cykli (pętli), w którym istnieje tylko jedna ścieżka między dwoma różnymi węzłami. Czyli, to graf spójny bez cykli. To drzewo reprezentujące pewien proces podziału zbioru obiektów na jednorodne klasy. Jego wewnętrzne węzły opisują sposób dokonania tego podziału, a liście odpowiadają klasom, do których należą obiekty. Z kolei krawędzie drzewa reprezentują wartości cech, na podstawie których dokonano podziału.

Drzewo to reguły decyzyjne 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ą."

Zadania sztucznej inteligencji Klasyfikacja, predykcja, przewidywanie polega ona na znajdowaniu odwzorowania danych w zbiór predefiniowanych klas. Na podstawie zawartości bazy danych budowany jest model (np. drzewo decyzyjne, reguły logiczne), który służy do klasyfikowania nowych obiektów w bazie danych lub głębszego zrozumienia istniejącego podziału obiektów na predefiniowane klasy. Ogromne zastosowanie znalazła w systemach medycznych, przykładowo, w bazie danych medycznych znalezione mogą byd reguły klasyfikujące poszczególne schorzenia, a następnie przy pomocy znalezionych reguł automatycznie może byd przeprowadzone diagnozowanie kolejnych pacjentów. Klasyfikacja jest metodą eksploracji danych z nadzorem (z nauczycielem). Proces klasyfikacji składa się z kilku etapów budowania modelu, po czym następuje faza testowania oraz predykcji nieznanych wartości.

Klasyfikacja danych jest dwuetapowym procesem: Etap 1: budowa modelu (klasyfikatora) opisującego predefiniowany zbiór klas danych lub zbiór pojęd Etap : zastosowanie opracowanego modelu do klasyfikacji nowych danych

Trening i testowanie Zbiór dostępnych krotek(przykładów, obserwacji, próbek) dzielimy na dwa zbiory: zbiór treningowy i zbiór testowy Model klasyfikacyjny (klasyfikator)jest budowany dwu-etapowo: Uczenie (trening) klasyfikator jest budowany w oparciu o zbiór treningowy danych Testowanie dokładnośd (jakośd) klasyfikatora jest weryfikowana w oparciu o zbiór testowy danych Zbiór danych Liczba danych = 100 /3 1/3 Zbiór treningowy(uczący) Liczba danych = 66 Zbiór testujący (walidacyjny) Liczba danych = 34

Podział obiektów ze względu na wartości atrybutów Każdy atrybut dzieli obiekty w systemie na grupy. Grup jest tyle ile wartości atrybutu, który analizujemy. W grupie dla danej wartości są tylko obiekty opisane tą wartością atrybutu.

A B C 1 A1 B1 C1 A B1 C 3 A1 B C3 4 A B C4 5 A1 B C1 6 A B C 7 A1 B C3 8 A B C4 A B C 1 A1 B1 C1 A B1 C 3 A1 B C3 4 A B C4 5 A1 B C1 6 A B C 7 A1 B C3 8 A B C4 A1 A A 1,3,5,7,4,6,8 B1 B B 1, 3,4,5,6,7,8 A B C 1 A1 B1 C1 A B1 C 3 A1 B C3 C1 4 A B C4 5 A1 B C1 c C3 6 A B C 1,5 7 A1 B C3 8 A B C4 3,7,6 C C4 4,8

Podział cech (atrybutów) Ilościowe numeryczne np. liczba języków obcych, waga w kg, wzrost w cm, wiek w latach etc. Jakościowe (nominalne) to cechy nienumeryczne, nie da się z nich policzyd wartości średniej, ale da się np. powiedzied która wartośd tej cechy występuje najczęściej, np. waga w kategoriach {niska, średnia, wysoka}, kolor oczu, wykształcenie, płed z wartościami {kobieta, mężczyzna}

Rodzaje drzew Drzewo binarne Drzewo niebinarne, regresyjne

Budowanie drzewa Mając zbiór obiektów S, sprawdź, czy należą one do tej samej klasy. Jeśli tak, to zakończ pracę.. W przeciwnym przypadku rozważ wszystkie możliwe podziały zbioru S na podzbiory S 1,S,,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 kryterium i wybierz najlepszy z nich. 4. Podziel zbiór S w wybrany sposób. 5. Wykonaj kroki1-4 rekurencyjnie dla każdego z podzbiorów. S S1 S Sn S11 S1 S1k

Algorytmy Id3 Quinlan 1986 C4.5 na podstawie id3 Quinlan 1993 Cart Breiman 1984 Chaid już lata 70-te Chi-squared- Automatic-Interaction-Detection (oryginalnie tylko dla danych nominalnych)

ID 3 (Quinlan, 1986) Bardzo prosty algorytm Opiera się na kryterium information gain Bada czy wszystkie obiekty w danym poddrzewie mają tę samą wartość analizowanej cechy ID3 nie zakłada prunningu drzew ID3 nie dopuszcza też danych numerycznych ani wartości brakujących

Algorytm ID 3 Quinlana Cechy algorytmu: wybór atrybutów, dla których kolejno przeprowadzane są testy, aby koocowe drzewo było jak najprostsze i jak najefektywniejsze. Wybór opiera się na liczeniu entropii, która decyduje, który z atrybutów da największy przyrost informacji. Czyli ten, który podzieli zbiór przykładów na jak najbardziej równe podzbiory. Poważną wadą jest wymóg dyskretności wszystkich cech przestrzeni klasyfikacji. Ta sama metoda ID3 może dawad bardzo różne rezultaty dla różnych metod dyskretyzacji. Kryterium oceniającym podziały jest kryterium przyrostu czystości. Miarą niejednorodności węzła jest miara entropii. Przyrost czystości jest nazywany wówczas przyrostem informacyjnym. Metoda ta polega na rekurencyjnym dzieleniu węzłów na podwęzły, aż do uzyskania maksymalnego drzewa. W każdym kroku metoda dzieli dany węzeł na tyle podwęzłów ile wartości ma najbardziej informatywna cecha (cechą oferująca maksymalną redukcję entropii). Niekorzystną konsekwencją takiej strategii jest tendencja do częstszego wykorzystywania cech, które mają dużą (w stosunku do innych) liczbę możliwych wartości.

Algorytm ID 3 Quinlana Zalety algorytmu: prostota algorytmu, jeżeli w zbiorze treningowym nie ma zjawiska hałasu, tzn. nie ma rekordów, które dla tych samych wartości atrybutów mają przypisaną różną kategorię, wtedy ID3 daje poprawny wynik dla wszystkich rekordów ze zbioru treningowego. Wady algorytmu: algorytm nie radzi sobie z ciągłymi dziedzinami atrybutów (zakłada, że wartości atrybutów są dyskretne), zakłada, że wszystkie rekordy w zbiorze treningowym są wypełnione. Algorytm nie zadziała, jeżeli chod jeden rekord zawiera niepełne dane. duży rozmiar drzewa, brak odporności na zjawisko overfitting - algorytm nie radzi sobie z danymi zaburzającymi ogólną ich informację może to prowadzid do wysokiego współczynnika błędów na danych testowych.

C4.5 (Quinlan, 1993) Rozwinięcie ID3 Stosuje kryterium gain ratio Podział drzewa kończy się gdy liczba obiektów do podziału jest już mniejsza niż pewna wartości progowa Przycinanie drzew jest możliwe już po zbudowaniu drzewa Dopuszcza się wartości numeryczne

Algorytm C4.5 Podział danych na podwęzły wprowadza wówczas wagi dla wektorów treningowych, które dla wektora z brakującą wartością atrybutu decyzyjnego odpowiadają rozkładowi pozostałych danych w podwęzłach. Stosownej modyfikacji podlegają wówczas współczynniki Pi ze wzoru a zamiast mocy zbiorów liczy się sumy wag elementów tych zbiorów. Współczynniki pi są uwzględniane również przy podejmowaniu decyzji na podstawie drzewa, by wyliczyd prawdopodobieostwa wpadania do poszczególnych węzłów oraz przynależenia do poszczególnych klas. System C4.5 oprócz metody indukcji drzewa decyzji oferuje klasyfikator będący zbiorem reguł logiki klasycznej. Reguły traktowane są tutaj jako różny od drzewa model klasyfikacji, ponieważ nie są one wierną reprezentacją drzewa. Reguły wiernie opisujące drzewo są poddawane procesowi oczyszczania: w każdej regule usuwane są przesłanki, których pominięcie nie powoduje spadku jakości klasyfikacji zbioru treningowego. Wykonywane jest dla każdej reguły z osobna, można w ten sposób otrzymad klasyfikator istotnie różny od drzewa (zwykle dający w testach niższe wartości poprawności).

CART (Classification and Regression Buduje drzewa binarne Trees) (Breiman, 1984) Kryterium podziału jest tzw. twoing criteria Drzewo można przycinad stosując kryterium kosztu i złożoności przycinania Buduje drzewa regresyjne (w liściach są wartości rzeczywiste a nie klasy) Algorytm stara się tak podzielid obiekty by minimalizowad błąd predykcji (metoda najmniejszych kwadratów) Predykcja w każdym liściu drzewa opiera się na ważonej średniej dla węzła

CHAID oparty na metodzie Chi Przewidziany dla wartości nominalnych. Przewiduje wartości brakujące. Nie przewiduje przycinania drzewa. Nie buduje drzew binarnych w budowanym drzewie dany węzeł może mied więcej niż potomków. Jeśli mamy dane nominalne to mamy od razu podział na kategorie. Jeśli mamy dane ilościowe musimy podzielid obserwacje na kategorie tak by mniej więcej każda kategoria miała tyle samo obserwacji. Wybiera się z wszystkich cech (pogrupowanych w kategorie) takie pary, które się od siebie najmniej różnią - oblicza się test F. Jeśli test nie wykaże istotnej różnicy taką parę cech łączy się w jedną kategorię i ponownie szuka się kolejnej pary. Potem wybiera się taką cechę, która daje najbardziej istotny podział i robi się to tak długo aż kolejne wybierane cechy dają wartośd niższą niż zadana wartośd p. Proces jest powtarzany tak długo, póki możliwe są kolejne podziały.

Cechy algorytmu Algorytm ID3 Algorytm C4.5 Wartości atrybutów Odporność na brak wartości atrybutów Odporność na nadmierne dopasowanie (ang. overfitting) tylko dyskretne dla wartości ciągłych niezbędny proces dyskretyzacji wartości atrybutów brak algorytm nie zadziała jeśli w zestawie danych wejściowych brakuje chodź jednej wartości atrybutu brak z reguły algorytm tworzy duże drzewa dyskretne jak i ciągłe dla atrybutów ciągłych algorytm rozpatruje wszystkie możliwe podziały na dwa podzbiory zdeterminowane punktem podziału, atrybuty ciągłe mogą pojawiać się na wielu poziomach tej samej gałęzi drzewa, dla każdego z możliwych podziałów ocenia się jego jakość mierząc wartość względnego zysku informacyjnego i wybiera ten, który maksymalizuje zysk. jest przyrost informacji nie bierze pod uwagę danych, dla których brakuje wartości atrybutu, przyrost informacji skaluje się mnożąc go przez częstość występowania wartości tej cechy w próbie treningowej jest zastosowanie przycinania bardzo skutecznie zapobiega nadmiernemu rozrostowi drzewa dane poddrzewo, które ma zostać przycięte zastępowane jest przez tą wartość atrybutu, która w przycinanym poddrzewie występuje najczęściej

Drzewa decyzyjne Najpowszechniejsza forma reprezentowania wiedzy przez dostępne oprogramowanie. Węzły są opisywane przez atrybuty eksplorowanej relacji, krawędzie opisują możliwe wartości dla atrybutu. Klasyfikacja odbywa się poprzez przeglądanie drzewa od korzenia do liści przez krawędzie opisane wartościami atrybutów.

Drzewa decyzyjne Przykład: automatyczny podział kierowców na powodujących i nie powodujących wypadki drogowe Dwie klasy: TAK i NIE

Drzewa decyzyjne IF marka = BMW AND wiek_kier < 5 THEN wypadek = TAK

Drzewa decyzyjne Drzewo decyzyjne jest formą opisu wiedzy klasyfikującej Węzłom drzewa odpowiadają atrybuty eksplorowanej relacji Krawędzie opisują wartości atrybutów Liśdmi drzewa są wartości atrybutu klasyfikacyjnego

Drzewa decyzyjne - przykład

Drzewa decyzyjne dla przykładu

Drzewa decyzyjne indukcja drzewa Problemy: Od jakiego atrybutu zacząd? Jakie atrybuty umieszczad w węzłach? Kiedy zaprzestad rozbudowywad drzewo? Co z atrybutami o zbyt dużej liczbie wartości lub atrybutami ilościowymi? Jak uwzględniad dane sprzeczne, brakujące lub błędne? Estymacja błędu klasyfikowania

Algorytm generowania drzewa decyzyjnego Algorytm top-down dla zbioru uczącego S 1. Wybierz najlepszy atrybut A. Rozbuduj drzewo poprzez dodanie do węzła nowych gałęzi odpowiadającym poszczególnym wartościom atrybutu A 3. Podziel zbiór S na podzbiory S1,..., Sn zgodnie z wartościami atrybutu A i przydziel do odpowiednich gałęzi 4. Jeśli wszystkie przykłady Si należą do tej samej klasy C zakoocz gałąź liściem wskazującym C; w przeciwnym razie rekurencyjnie buduj drzewo Ti dla Si (tzn. powtórz kroki 1-4)

Wybór atrybutu do budowania drzewa

Entropia Entropia w ramach teorii informacji jest definiowana jako średnia ilośd informacji, przypadająca na znak symbolizujący zajście zdarzenia z pewnego zbioru. Zdarzenia w tym zbiorze mają przypisane prawdopodobieostwa wystąpienia. gdzie p(i) - prawdopodobieństwo zajścia zdarzenia i.

Logarytm Logarytm przy podstawie a z liczby b, zapisywany log a b to taka liczba c, że podstawa a podniesiona do potęgi c daje logarytmowaną liczbę b. Symbolicznie: log a b = c a c =b gdzie a>0,a 1 oraz b > 0. Na przykład log 8 = 3, ponieważ 3 =8.

Entropia Entropię można interpretowad jako niepewnośd wystąpienia danego zdarzenia elementarnego w następnej chwili. Jeżeli następujące zdarzenie występuje z prawdopodobieostwem równym 1, to z prostego podstawienia wynika, że entropia wynosi 0, gdyż z góry wiadomo co się stanie - nie ma niepewności. Własności entropii: jest nieujemna jest maksymalna, gdy prawdopodobieostwa zajśd zdarzeo są takie same jest równa 0, gdy stany systemu przyjmują wartości 0 albo 1 własnośd superpozycji - gdy dwa systemy są niezależne to entropia sumy systemów równa się sumie entropii.

Entropia dwie decyzje

Name Hair Height Weight Lotion Result Sarah blonde average light no sunburned (positive) Dana blonde tall average yes none (negative) Alex brown short average yes none Annie blonde short average no sunburned Emily red average heavy no sunburned Pete brown tall heavy no none John brown average heavy no none Katie blonde short light yes none

Wyniki obliczeń.i budujemy drzewo

Information Gain przyrost informacji Wybór najlepszego atrybutu do węzła Information gain miara zmiany entropii wybieramy atrybut, dla którego ta miara jest największa

Ocena jakości drzewa Jakośd drzewa ocenia się: rozmiarem: im drzewo jest mniejsze, tym lepsze małą liczbą węzłów, małą wysokością, lub małą liczbą liści; dokładnością klasyfikacji na zbiorze treningowym dokładnością klasyfikacji na zbiorze testowym

Przykład obiekt pogoda temperatura wilgotność wiatr grać(x) x 1 słonecznie gorąco wysoka słaby nie x słonecznie gorąco wysoka silny nie x 3 pochmurno gorąco wysoka słaby tak x 4 deszczowo łagodnie wysoka słaby tak x 5 deszczowo zimno normalna słaby tak x 6 deszczowo zimno normalna silny nie x 7 pochmurno zimno normalna silny tak x 8 słonecznie łagodnie wysoka słaby nie x 9 słonecznie zimno normalna słaby tak x 10 deszczowo łagodnie normalna słaby tak x 11 słonecznie łagodnie normalna silny tak x 1 pochmurno łagodnie wysoka silny tak x 13 pochmurno gorąco normalna słaby tak x 14 deszczowo łagodnie wysoka silny nie

W tabeli znajdują się cztery atrybuty warunkowe (pogoda, temperatura, wilgotność wiatr) oraz atrybut decyzyjny grać. Na początku należy wyznaczyć liczność każdego zbiorów trenujących: T tak = {3, 4, 5, 7, 9, 10, 11, 1, 13 } = 9, oraz T nie = {1,, 6, 8, 14} = 5. T(pogoda, słonecznie) = {1,, 8, 9, 11} = 5 T tak( pogoda, słonecznie) = {9, 11} = T nie (pogoda, słonecznie) = {1,, 8} = 3 T(pogoda, pochmurno) = {3, 7, 1, 13} = 4 T tak (pogoda, pochmurno) = {3, 7, 1, 13} = 4 T nie (pogoda, pochmurno) = {} = 0 T(pogoda, deszczowo) = {4, 5, 6, 10, 14} = 5 T tak (pogoda, deszczowo) = {4, 5, 10} = 3 T nie (pogoda, deszczowo) = {6, 14} =

Po obliczeniu liczności zbiorów trenujących należy obliczyć entropię. d d Korzystając ze wzoru, Ptr Ptr Etr ( P) log d C Ptr Ptr przyjmując logarytmy dwójkowe kolejno obliczamy: Ent(S) 9 9 5 5 Ze wzoru log log 0,4097 0,5305 0,940 14 14 14 14 d P I( P) P d C log d P P obliczamy informację zawartą w zbiorze etykietowanych przykładów P I(P) Ptr Następnie ze wzoru Et ( P) Etr ( P) obliczam entropię ważoną: 9 log 14 9 14 r R t P 5 log 14 5 14 940 0,4097 0,5305 0, Ent(S Pogoda) 5 3 3 ( log log ) 14 5 5 5 5 5 14 4 14 ( log log ) 3 3 5 5 ( log log ) *0.97 *0.97 0.698 5 5 5 5 14 14 4 4 4 4 0 4 0 4

Ent (S Temperatura) 4 ( log log ) 14 4 4 4 4 4 14 6 14 ( log log ) 4 6 3 3 1 1 4 6 4 ( log log ) *1 *0.91 *0.81 0. 9110 4 4 4 4 14 14 14 4 6 6 6 Ent (S Wilgotność) Ent(S Wiatr) 7 3 3 4 4 7 6 6 1 1 ( log log ) ( log log ) 14 7 7 7 7 14 7 7 7 7 7 7 *0.98 *0.59 0.7884 14 14 8 6 6 ( log log ) 14 8 8 8 8 6 14 ( log log ) 3 6 3 3 3 8 6 *0.81 *1 0. 891 6 6 6 14 14 Teraz możemy policzyć przyrost informacji dla każdego atrybutu, korzystając ze wzoru na przyrost informacji ( P) I( P) E ( P) Gain Information (Pogoda) = 0.940 0.6935 = 0.474 Gain Information (Temperatura) = 0.940 0.9110 = 0.09 Gain Information (Wilgotność) = 0.940 0.7884 = 0.1518 Gain Information (Wiatr) = 0.940 0.891 =0.0481 Z powyższych obliczeń wynika, że największy przyrost informacji da atrybut pogoda Rysujemy zatem drzewo decyzyjne g t t

obiekt pogoda temperatura wilgotność wiatr grać(x) x 1 słonecznie gorąco wysoka słaby nie x słonecznie gorąco wysoka silny nie obi ekt pogoda temperat ura wilgotno ść wiatr grać x 3 pochmurno gorąco wysoka słaby tak x 4 deszczowo łagodnie wysoka słaby tak x 5 deszczowo zimno normalna słaby tak x 1 x słoneczni e słoneczni e gorąco wysoka słaby nie gorąco wysoka silny nie x 6 deszczowo zimno normalna silny nie x 7 pochmurno zimno normalna silny tak x 8 słonecznie łagodnie wysoka słaby nie x 9 słonecznie zimno normalna słaby tak x 8 x 9 x 11 słoneczni e słoneczni e słoneczni e łagodnie wysoka słaby nie zimno normalna słaby tak łagodnie normalna silny tak x 10 deszczowo łagodnie normalna słaby tak x 11 słonecznie łagodnie normalna silny tak obiekt pogoda tempera tura wilgotność wiatr grać (x) x 1 pochmurno łagodnie wysoka silny tak x 13 pochmurno gorąco normalna słaby tak x 14 deszczowo łagodnie wysoka silny nie x 3 pochmurno gorąco wysoka słaby tak x 7 pochmurno zimno normalna silny tak x 1 pochmurno łagodni e wysoka silny tak x 13 pochmurno gorąco normalna słaby tak obiekt pogoda temperatura wilgotno ść wiatr grać x 4 deszczowo łagodnie wysoka słaby tak x 5 deszczowo zimno normalna słaby tak x 6 deszczowo zimno normalna silny nie x 10 deszczowo łagodnie normalna słaby tak x 14 deszczowo łagodnie wysoka silny nie

obie kt pogoda temperatura wilgotność wiatr grać POGODA x 1 słonecznie gorąco wysoka słaby nie SŁONECZNIE POCHMURNO DESZCZOWO??? x słonecznie gorąco wysoka silny nie x 8 słonecznie łagodnie wysoka słaby nie x 9 słonecznie zimno normalna słaby tak x 11 słonecznie łagodnie normalna silny tak Rozpoczynamy drugą iterację algorytmu: generujemy lewe poddrzewo wykonując kolejne obliczenia entropii oczywiście w ramach atrybutów z podzbioru Pogoda Słonecznie 3 0 0 3 3 0 0 Ent(S Wilgotność) = ( log log ) 0 ( log log ) 3 1 5 1 3 3 3 3 5 Ent(S Wiatr) = 1 1 1 1 3 Ent(S Temperatura) ( log log ) 5 3 3 3 3 ( log log ) 5 *0.918 *1 0. 1509 0 0 1 1 1 5 1 1 1 5 1 0 0 ( log log ) ( log log ) ( log log ) 5 5 5 1 1 1 1 *1 5 Następnie po obliczeniu entropii generujemy przyrost informacji: Gain Information (PogodaSłonecznie + Wilgotność) = 0.97 Gain Information (PogodaSłonecznie + Wiatr) = 0.97 0.1509 0,81908 Gain Information (PogodaSłonecznie + Temperatura) = Największy przyrost informacji spośród tych atrybutów da wilgotność dorysowujemy zatem kolejny węzeł drzewa decyzyjnego. 5 0.97 0 0 0.57 5

obiekt pogoda temperat ura wilgotność wiatr grać (x) POGODA SŁONECZNIE POCHMURNO DESZCZOWO WILGOTNOŚĆ TAK? x 3 pochmurno gorąco wysoka słaby tak x 7 pochmurno zimno normalna silny tak x 1 pochmurno łagodnie wysoka silny tak x 13 pochmurno gorąco normalna słaby tak Dla środkowego poddrzewa nie ma potrzeby tworzenia kolejnych węzłów ponieważ wszystkie atrybuty tego podzbioru należą do tej samej klasy decyzyjnej. Możemy zatem wyznaczyć węzeł dla prawego poddrzewa: Ent(S PogodaDeszczowo+Wilgotność)= Ent(S PogodaDeszczowo+Wiatr)= Ent(S PogodaDeszczowo+Temperatura)= obiekt pogoda temperatura wilgotno ść wiatr grać 1 1 1 1 3 1 1 ( log log ) ( log log ) 5 5 3 3 3 3 3 *1 *0.918 0.1509 5 5 3 3 3 0 0 0 0 ( log log ) ( log log ) 0 5 3 3 3 3 5 3 1 1 ( log log ) 1 1 1 1 ( log log ) 0 5 3 3 3 3 5 3 *0.918 *1 0 0.1509 5 5 x 4 deszczowo łagodnie wysoka słaby tak x 5 deszczowo zimno normalna słaby tak x 6 deszczowo zimno normalna silny nie x 10 deszczowo łagodnie normalna słaby tak x 14 deszczowo łagodnie wysoka silny nie

3 GainInformation(PogodaDeszczowo+Temperatura)= 0.97 *0.918 *1 0 0,01908 5 5 GainInformation(PogodaDeszczowo+Wilgotność)= 3 0.97 *1 *0.918 0,01908 5 5 GainInformation(PogodaDeszczowo+Wiatr)= 0.97 Możemy zatem dorysować kolejny węzeł drzewa: POGODA SŁONECZNIE POCHMURNO DESZCZOWO WILGOTNOŚĆ TAK WIATR WYSOKA SŁABY SILNY Koniec TAK NIE TAK NIE

Przycinanie drzew

Po co stosujemy przycinanie drzew? Aby uniknąd nadmiernego przystosowania się hipotez do przykładów, tzw. 'przeuczenia' w algorytmach opartych na drzewach decyzyjnych. Nadmiernie dopasowane drzewo charakteryzuje się małym błędem dla przykładów trenujących, jednak na innych przykładach ma zbyt duży błąd. Taka sytuacja może mied miejsce na przykład w przypadku zaszumienia zbioru trenującego i zbytniego dopasowania się algorytmu do błędnych danych. Przycinanie polega na zastąpieniu poddrzewa liściem reprezentującym kategorię najczęściej występującą w przykładach z usuwanego poddrzewa. Kategoria ta zwana jest kategorią większościową. Przycięcie drzewa, oprócz zwiększenia dokładności klasyfikacji dla danych rzeczywistych prowadzi także do uproszczenia budowy drzewa.

Zalety drzew decyzyjnych Efektywna (pamięciowo) reprezentacja pojęd; drzewa dają możliwie skrótowy zapis wiedzy. Możliwośd reprezentacji złożonych pojęd; Brane są pod uwagę zarówno cech ilościowych jak i jakościowych; Pozwala na błędy w danych i wartości brakujące. Bardzo efektywny (obliczeniowo) proces klasyfikacji nowych przypadków; Czytelna wizualizacja dla człowieka, o ile drzewo nie jest zbyt skomplikowane; Istnieje łatwa możliwośd przejścia od drzew decyzyjnych do reguł decyzyjnych.

Wady drzew decyzyjnych Możliwośd drastycznego błędu klasyfikacji w przypadku błędnej wartości atrybutu testowanego blisko korzenia drzewa. Brak możliwości uczenia się adaptacyjnego Możliwe duże rozmiary drzew dla niektórych pojęd (ale nie ma reprezentacji hipotez efektywnej dla wszystkich pojęd). Wymaga się w większości algorytmów by atrybuty decyzyjne były dyskretne. Mała stabilnośd drzewa - niewielka zmiana w drzewie wymaga ponownego uruchomienia algorytmu budowy drzewa.

Bibliografia J.Koronacki, J.Ćwik: Statystyczne systemy uczące się, wydanie drugie, Exit,Warsaw,008,rozdział 4. Gatnar E. : Symboliczne metody klasyfikacji danych, PWN, 1998