Drzewa klasyfikacyjne

Podobne dokumenty
Drzewa klasyfikacyjne

Drzewa klasyfikacyjne

Stan dotychczasowy. OCENA KLASYFIKACJI w diagnostyce. Metody 6/10/2013. Weryfikacja. Testowanie skuteczności metody uczenia Weryfikacja prosta

Drzewa klasyfikacyjne

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

WYKŁAD 11 Uczenie maszynowe drzewa decyzyjne

Indukowane Reguły Decyzyjne I. Wykład 3

Co to są drzewa decyzji

Data Mining Wykład 4. Plan wykładu

Algorytmy klasyfikacji

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

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

Klasyfikacja obiektów Drzewa decyzyjne (drzewa klasyfikacyjne)

ALGORYTM RANDOM FOREST

Indukowane Reguły Decyzyjne I. Wykład 8

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

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

Elementy modelowania matematycznego

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

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

Wprowadzenie do uczenia maszynowego

Drzewa klasyfikacyjne Lasy losowe. Wprowadzenie

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

Agnieszka Nowak Brzezińska Wykład III

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

Sztuczna Inteligencja w medycynie projekt (instrukcja) Bożena Kostek

Drzewa decyzyjne i lasy losowe

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Testowanie modeli predykcyjnych

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

Systemy uczące się wykład 2

Agnieszka Nowak Brzezińska Wykład III

Wprowadzenie do klasyfikacji

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład III 2016/2017

SZTUCZNA INTELIGENCJA

Projekt Sieci neuronowe

8. Drzewa decyzyjne, bagging, boosting i lasy losowe

Optymalizacja ciągła

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

Drzewa klasyfikacyjne algorytm podstawowy

WYKŁAD 7. Testowanie jakości modeli klasyfikacyjnych metodyka i kryteria

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

Weryfikacja hipotez statystycznych, parametryczne testy istotności w populacji

Analiza składowych głównych. Wprowadzenie

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

Wprowadzenie do technologii informacyjnej.

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

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

Testowanie hipotez statystycznych. Wnioskowanie statystyczne

Algorytmy metaheurystyczne Wykład 11. Piotr Syga

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

Wprowadzenie do analizy korelacji i regresji

Agnieszka Nowak Brzezińska

W kolejnym kroku należy ustalić liczbę przedziałów k. W tym celu należy wykorzystać jeden ze wzorów:

Testowanie hipotez statystycznych

Aproksymacja funkcji a regresja symboliczna

9. Praktyczna ocena jakości klasyfikacji

Weryfikacja hipotez statystycznych

Charakterystyki liczbowe (estymatory i parametry), które pozwalają opisać właściwości rozkładu badanej cechy (zmiennej)

Statystyka matematyczna Testowanie hipotez i estymacja parametrów. Wrocław, r

Hierarchiczna analiza skupień

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

Populacja generalna (zbiorowość generalna) zbiór obejmujący wszystkie elementy będące przedmiotem badań Próba (podzbiór zbiorowości generalnej) część

Jakość uczenia i generalizacja

Testy nieparametryczne

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.

ZeroR. Odpowiada zawsze tak samo Decyzja to klasa większościowa ze zbioru uczącego A B X 1 5 T 1 7 T 1 5 T 1 5 F 2 7 F

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład II 2017/2018

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

TEORETYCZNE PODSTAWY INFORMATYKI

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

Kontekstowe wskaźniki efektywności nauczania - warsztaty

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

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

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

Temat: Algorytm kompresji plików metodą Huffmana

Metoda Automatycznej Detekcji Interakcji CHAID

Wykład 3 Hipotezy statystyczne

PDF created with FinePrint pdffactory Pro trial version

Zmienne zależne i niezależne

Programowanie celowe #1

Weryfikacja hipotez statystycznych. KG (CC) Statystyka 26 V / 1

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

Klasyfikacja LDA + walidacja

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

Laboratorium 6. Indukcja drzew decyzyjnych.

166 Wstęp do statystyki matematycznej

INDUKCJA DRZEW DECYZYJNYCH

Statystyka matematyczna dla leśników

Zadania ze statystyki, cz.6

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

Adam Kirpsza Zastosowanie regresji logistycznej w studiach nad Unią Europejska. Anna Stankiewicz Izabela Słomska

Systemy uczące się Lab 4

Testowanie hipotez statystycznych.

SCENARIUSZ LEKCJI. TEMAT LEKCJI: Zastosowanie średnich w statystyce i matematyce. Podstawowe pojęcia statystyczne. Streszczenie.

Algorytmy i struktury danych. Wykład 4

Tadeusz Pankowski

RÓWNOWAŻNOŚĆ METOD BADAWCZYCH

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

Transkrypt:

Yes Refund No NO Single, Divorced MarSt Married TaxInc < 80K > 80K NO NO YES Drzewa klasyfikacyjne Agnieszka Nowak Brzezińska

Tydzień temu Dziś PREDYKCJA KLASYFIKACJA

W czym predykcja różni się od klasyfikacji? Predykcja (przewidywanie) może być rozumiana jako wykorzystanie modelu do oszacowania (obliczenia) wartości (lub przedziału wartości), jaką z dużym prawdopodobieństwem może mieć atrybut analizowanego obiektu. Wartością tego atrybutu może być w szczególności etykieta klasy. Z tego punktu widzenia klasyfikacja i regresja są dwoma głównymi rodzajami problemów predykcyjnych; przy czym klasyfikacja jest używana do przewidzenia wartości dyskretnych lub nominalnych, a regresja do oszacowania wartości ciągłych lub uporządkowanych.

Reguła: przewidywanie wartości ciągłych (technikami regresji) przewidywanie etykiet klas predykcja klasyfikacja

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ą być reguły klasyfikujące poszczególne schorzenia, a następnie przy pomocy znalezionych reguł automatycznie może być 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ęć Etap 2: zastosowanie opracowanego modelu do klasyfikacji nowych danych

10 Przykład Tid Refund Marital Status Taxable Income Cheat Splitting Attributes 1 Yes Single 125K No 2 No Married 100K No 3 No Single 70K No 4 Yes Married 120K No 5 No Divorced 95K Yes 6 No Married 60K No 7 Yes Divorced 220K No 8 No Single 85K Yes 9 No Married 75K No 10 No Single 90K Yes Refund Yes No NO MarSt Single, Divorced TaxInc < 80K > 80K NO YES Married NO Dane treningowe Model: Decision Tree

10 Inne drzewo decyzyjne Tid Refund Marital Status Taxable Income 1 Yes Single 125K No 2 No Married 100K No 3 No Single 70K No 4 Yes Married 120K No Cheat 5 No Divorced 95K Yes 6 No Married 60K No 7 Yes Divorced 220K No 8 No Single 85K Yes 9 No Married 75K No 10 No Single 90K Yes Married NO MarSt Yes NO Single, Divorced Refund NO No TaxInc < 80K > 80K YES Drzew różnych dla tego samego zbioru danych może być wiele!

10 10 Zadanie drzew klasyfikacyjnych Tid Attrib1 Attrib2 Attrib3 Class 1 Yes Large 125K No 2 No Medium 100K No Tree Induction algorithm 3 No Small 70K No 4 Yes Medium 120K No 5 No Large 95K Yes Induction 6 No Medium 60K No 7 Yes Large 220K No 8 No Small 85K Yes 9 No Medium 75K No Learn Model 10 No Small 90K Yes Training Set Tid Attrib1 Attrib2 Attrib3 Class Apply Model Model Decision Tree 11 No Small 55K? 12 Yes Medium 80K? 13 Yes Large 110K? Deduction 14 No Small 95K? 15 No Large 67K? Test Set

10 Zastosowanie modelu do danych Start od korzenia Test Data Refund Marital Status Taxable Income Cheat Refund No Married 80K? Yes No NO Single, Divorced MarSt Married TaxInc < 80K > 80K NO NO YES

10 Zastosowanie modelu do danych Test Data Refund Marital Status Taxable Income Cheat Yes Refund No No Married 80K? NO Single, Divorced MarSt Married TaxInc < 80K > 80K NO NO YES

10 Zastosowanie modelu do danych Test Data Refund Marital Status Taxable Income Cheat Yes Refund No No Married 80K? NO Single, Divorced MarSt Married TaxInc < 80K > 80K NO NO YES

10 Zastosowanie modelu do danych Test Data Refund Marital Status Taxable Income Cheat Yes Refund No No Married 80K? NO Single, Divorced MarSt Married TaxInc < 80K > 80K NO NO YES

10 Zastosowanie modelu do danych Test Data Refund Marital Status Taxable Income Cheat Yes Refund No No Married 80K? NO Single, Divorced MarSt Married TaxInc < 80K > 80K NO NO YES

10 Zastosowanie modelu do danych Test Data Refund Marital Status Taxable Income Cheat Yes NO Refund No MarSt Single, Divorced Married No Married 80K? No TaxInc < 80K > 80K NO NO YES

10 10 Zadanie klasyfikacji DD Tid Attrib1 Attrib2 Attrib3 Class 1 Yes Large 125K No 2 No Medium 100K No Tree Induction algorithm 3 No Small 70K No 4 Yes Medium 120K No 5 No Large 95K Yes Induction 6 No Medium 60K No 7 Yes Large 220K No 8 No Small 85K Yes 9 No Medium 75K No Learn Model 10 No Small 90K Yes Training Set Tid Attrib1 Attrib2 Attrib3 Class Apply Model Model Decision Tree 11 No Small 55K? 12 Yes Medium 80K? 13 Yes Large 110K? Deduction 14 No Small 95K? 15 No Large 67K? Test Set

W informatyce pod pojęciem drzewa rozumiemy spójny skierowany graf acykliczny, z którym związane jest następujące nazewnictwo: krawędzie grafu nazywane są gałęziami; wierzchołki, z których wychodzi co najmniej jedna krawędź to węzły, pozostałe zaś określane są mianem liści. Przyjmuje sie, ze wierzchołek ma co najwyżej jedną krawędź wchodzącą, a liczba krawędzi wychodzących jest równa 0 albo większa od 1; węzeł lub liść do którego nie prowadza żadne krawędzie to korzeń.

Definicja Drzewo decyzyjne jest drzewem, w którym węzły odpowiadają testom przeprowadzanym na wartościach atrybutów reguł, gałęzie są możliwymi wynikami takich testów zaś liście reprezentują część decyzyjną. Drzewa decyzyjne jako forma reprezentacji zbioru reguł zdobyły wśród programistów SI dużą popularność przede wszystkim ze względu na swą czytelność oraz znaczne zmniejszenie wymaganych do przechowania bazy, zasobów pamięci. Fakt ten zilustrowany jest tablica poniżej zawierającą przykładowa bazę reguł, oraz rysunkiem przedstawiającym odpowiadające jej drzewo decyzyjne.

Drzewo decyzyjne - schemat

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 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.

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ą."

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 < 25 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śćmi drzewa są wartości atrybutu klasyfikacyjnego

Drzewa decyzyjne - przykład

Drzewa decyzyjne dla przykładu

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

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ść (jakość) klasyfikatora jest weryfikowana w oparciu o zbiór testowy danych Zbiór danych Liczba danych = 100 2/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 2 A2 B1 C2 3 A1 B2 C3 4 A2 B2 C4 5 A1 B2 C1 6 A2 B2 C2 7 A1 B2 C3 8 A2 B2 C4 A B C 1 A1 B1 C1 2 A2 B1 C2 3 A1 B2 C3 4 A2 B2 C4 5 A1 B2 C1 6 A2 B2 C2 7 A1 B2 C3 8 A2 B2 C4 A1 A A2 1,3,5,7 2,4,6,8 B1 B B2 1,2 3,4,5,6,7,8 A B C 1 A1 B1 C1 2 A2 B1 C2 3 A1 B2 C3 C1 4 A2 B2 C4 5 A1 B2 C1 c2 C3 6 A2 B2 C2 1,5 7 A1 B2 C3 8 A2 B2 C4 3,7 2,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 policzyć wartości średniej, ale da się np. powiedzieć która wartość tej cechy występuje najczęściej, np. waga w kategoriach {niska, średnia, wysoka}, kolor oczu, wykształcenie, płeć z wartościami {kobieta, mężczyzna}

Algorytm generowania drzewa decyzyjnego Algorytm top-down dla zbioru uczącego S 1. Wybierz najlepszy atrybut A 2. 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 zakończ 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ść informacji, przypadająca na znak symbolizujący zajście zdarzenia z pewnego zbioru. Zdarzenia w tym zbiorze mają przypisane prawdopodobieństwa 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 2 8 = 3, ponieważ 2 3 =8.

Entropia Entropię można interpretować jako niepewność wystąpienia danego zdarzenia elementarnego w następnej chwili. Jeżeli następujące zdarzenie występuje z prawdopodobieństwem 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 prawdopodobieństwa zajść zdarzeń są takie same jest równa 0, gdy stany systemu przyjmują wartości 0 albo 1 własność superpozycji - gdy dwa systemy są niezależne to entropia sumy systemów równa się sumie entropii.

Entropia dwie decyzje

Przykład: który atrybut wybrać?

Ile informacji zawiera dany podział? Średnia liczba bitów do zakodowania dowolnego wektora wynosi: Outlook = sunny info([2,3]) = entropy(2/5,3/5) = -2 / 5log(2 / 5) - 3/ 5log(3/ 5) = 0.971bits Outlook = overcast info([4,0]) = entropy(1,0) = -1log(1) - 0log(0) = 0 bits Outlook = rainy info([3,2]) = entropy(3/5,2/5) = -3/5log(3/ 5) - 2 /5log(2/ 5) = 0.971bits Wartość dla atrybutu: info([3,2],[4,0],[3,2]) = (5/14) 0.971+ (4 /14) 0 + (5/14) 0.971= 0.693 bits

INFORMATION GAIN = informacja przed rozdzieleniem informacja po Rozdzieleniu gain("outlook") = info([9,5]) - info([2,3],[4,0],[3,2]) = 0.940-0.693 = 0.247 bits Przyrosty informacji dla poszczególnych atrybutów w danych testowych: gain("outlook") = 0.247 bits gain("temperature") = 0.029bits gain("humidity") = 0.152 bits gain("windy") = 0.048 bits

Przykład: Dalszy podział gain("temperature") = 0.571bits gain("humidity") = 0.971bits gain("windy") = 0.020 bits

Przykład: Końcowe drzewo Uwaga: Nie wszystkie liście muszą być czyste. Czasami identyczne instancje mają różne klasy. Proces budowy drzewa zatrzymuje się gdy dalszy podział nie jest możliwy (lub spełnione jest inne kryterium stopu)

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ę. 2. W przeciwnym przypadku rozważ wszystkie możliwe podziały zbioru S na podzbiory 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 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 S2 Sn S11 S12 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) Hunt s Algorithm (jeden z pierwszych) SLIQ,SPRINT

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 końcowe 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 dawać 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 choć 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 prowadzić 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 wyliczyć prawdopodobieństwa 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 otrzymać 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 przycinać 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 podzielić obiekty by minimalizować 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 2 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 mieć więcej niż 2 potomków. Jeśli mamy dane nominalne to mamy od razu podział na kategorie. Jeśli mamy dane ilościowe musimy podzielić 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ść niższą niż zadana wartość 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

Tworzenie drzewa decyzyjnego Drzewo decyzyjne powstaje na podstawie rekurencyjnego podziału zbioru uczącego na podzbiory, do momentu uzyskania ich jednorodności ze względu na przynależność obiektów do klas. Postuluje się jak najmniejszą liczbę węzłów w powstałym dendrogramie, co powinno zapewnić prostotę powstałych reguł klasyfikacji. Ogólny schemat tworzenia drzewa decyzyjnego na podstawie zbioru uczącego można przedstawić w pięciu punktach: 1. Badając zbiór obiektów S należy sprawdzić, czy należą one do tej samej klasy. Jeżeli tak, można zakończyć pracę. 2. Jeżeli analizowane obserwacje nie należą do jednej klasy, należy zbadać wszystkie możliwe podziały zbioru S na podzbiory jak najbardziej jednorodne. 3. Następnie należy ocenić jakość każdego podzbioru według przyjętego kryterium i wybrać najlepszy z nich. 4. W następnym kroku należy podzielić zbiór początkowy w wybrany sposób. 5. Wyżej opisane algorytm należy zastosować dla każdego z podzbiorów.

Uczymy się budować drzewa decyzyjne algorytmem ID 3 Rozważmy binarną klasyfikację C. Jeśli mamy zbiór przykładów S, dla którego potrafimy stwierdzić, które przykłady ze zbioru S dają wartość pozytywną dla C (p + ) a które wartość 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 c 1,..., c n ) i wiedząc które przykłady ze zbioru S mają klasę c i obliczymy odpowiednią proporcję dla p i, a wtedy entropię dla S policzymy jako:

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

Information Gain Na każdym etapie budowy drzewa trzeba wybrać atrybut który będzie tworzył dany węzeł w drzewie. Na początku powstaje problem, który atrybut powinien budować korzeń 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 (S v ):

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

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 < 25 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śćmi drzewa są wartości atrybutu klasyfikacyjnego

Drzewa decyzyjne - przykład

Drzewa decyzyjne dla przykładu

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

Ocena jakości drzewa Jakość 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 2 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 12 pochmurno łagodnie wysoka silny tak x 13 pochmurno gorąco normalna słaby tak x 14 deszczowo łagodnie wysoka silny nie

Drzewa decyzyjne - przykład

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, 12, 13 } = 9, oraz T nie = {1, 2, 6, 8, 14} = 5. T(pogoda, słonecznie) = {1, 2, 8, 9, 11} = 5 T tak( pogoda, słonecznie) = {9, 11} = 2 T nie (pogoda, słonecznie) = {1, 2, 8} = 3 T(pogoda, pochmurno) = {3, 7, 12, 13} = 4 T tak (pogoda, pochmurno) = {3, 7, 12, 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} = 2

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 2 log 2 0,4097 0,5305 0,9402 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 2 9402 2 0,4097 0,5305 0, Ent(S Pogoda) 5 2 2 3 3 ( log log 2 ) 14 5 5 5 5 5 14 4 14 2 ( log 2 log 2 ) 3 3 2 2 5 5 ( log 2 log 2 ) *0.97 *0.97 0.6928 5 5 5 5 14 14 4 4 4 4 0 4 0 4

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

obiekt pogoda temperatura wilgotność wiatr grać(x) x 1 słonecznie gorąco wysoka słaby nie x 2 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 2 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 12 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 12 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 2 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 2 2 2 0 0 Ent(S Wilgotność) = ( log log ) 0 2 2 ( log 2 log 2 ) 5 3 3 3 3 5 2 2 2 2 Ent(S Wiatr) = 3 1 1 2 2 2 1 1 1 1 3 2 Ent(S Temperatura) ( log log ) 5 3 2 2 3 3 3 ( log log ) 5 2 2 2 2 2 2 *0.9182 *1 0. 15092 2 0 0 2 2 2 1 1 1 5 1 1 1 5 1 0 0 ( log 2 log 2 ) ( log log 2 ) ( log 2 log 2 ) 5 2 2 2 2 5 2 2 2 2 5 1 1 1 1 2 2 *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.15092 0,81908 Gain Information (PogodaSłonecznie + Temperatura) = 2 Największy przyrost informacji spośród tych atrybutów da wilgotność dorysowujemy zatem kolejny węzeł drzewa decyzyjnego. 2 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 12 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ć 2 1 1 1 1 3 2 2 1 1 ( log log 2 ) ( log 2 log 2 ) 5 2 2 2 2 5 3 3 3 3 2 3 *1 *0.9182 0.15092 5 5 3 3 3 0 0 2 0 0 2 2 ( log 2 log 2 ) ( log 2 log 2 ) 0 5 3 3 3 3 5 2 2 2 2 3 2 2 1 1 ( log log ) 2 1 1 1 1 2 ( log 2 log 2 ) 0 5 3 3 3 3 5 2 2 2 2 3 2 *0.9182 *1 0 0.15092 5 5 2 2 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 2 GainInformation(PogodaDeszczowo+Temperatura)= 0.97 *0.9182 *1 0 0,01908 5 5 GainInformation(PogodaDeszczowo+Wilgotność)= 2 3 0.97 *1 *0.9182 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

Geneza drzew regresyjnych Metoda drzew decyzyjnych ma swój początek w latach sześćdziesiątych, kiedy powstały pierwsze metody mające na celu reprezentowanie procesu tworzenia pojęć. Jednak dopiero w latach osiemdziesiątych, kiedy Quinlan zaproponował algorytm ID3, drzewa decyzyjne zostały dostrzeżone, jako wygodne narzędzie klasyfikacji danych

Drzewa regresyjne Etapy analizy z użyciem drzew regresyjnych są następujące: 1) wybór reguły podziału, 2) wybór kryterium stopu (określenie, kiedy węzeł drzewa staje się liściem), 3) oszacowanie jakości modelu, 4) określenie reguły przydzielającej obserwacje do liści drzewa.

Reguły podziału Najczęściej stosowanymi w praktyce regułami podziału są wariancja i odchylenie przeciętne. W pierwszym wypadku liczy się średnią wartość zmiennej zależnej w liściu i podaje wariancję znajdujących się w nim przypadków (czasem także odchylenie standardowe). W drugim wypadku szacowana jest mediana zmiennej zależnej oraz średnie odchylenie bezwzględne obserwacji znajdujących się w liściu. Węzeł staje się maksymalnie homogeniczny w sytuacji, gdy wszystkie znajdujące się w nim przypadki są równe odpowiednio: średniej lub medianie. Wybór reguły podziału ma wpływ na ostateczną postać modelu. Odchylenie przeciętne jest odporne na przypadki odstające i asymetryczne rozkłady zmiennych, jednak wariancja zapewnia wyższą trafność predykcji. W wypadku drzew regresyjnych nie ma potrzeby ustalania prawdopodobieństw a priori pojawienia się klas.

Zalety CART Ważną zaletą drzew regresyjnych CART jest sposób postępowania z brakującymi wartościami zmiennych oraz z przypadkami odstającymi. W klasycznych metodach statystycznych często usuwa się przypadki z brakami danych, co ma wpływ na pogorszenie wyników analizy. Propozycja Breimana i in. polega na wykorzystaniu tzw. zmiennej zastępczej (surrogate) lub zmiennej konkurencyjnej (competitors). Zmienną zastępczą jest ten predyktor, który zapewnia podział węzła zbliżony do pierwotnego podziału dokonanego na podstawie najlepszego w danym etapie predyktora. W każdym kroku analizy budowany jest ranking zmiennych zastępczych, gdzie o kolejności decyduje wielkość wskaźnika asocjacji. Zmienne zastępcze i zmienne konkurencyjne omówione będą w dalszej części pracy.

Drzewa regresyjne są alternatywnym dla klasycznej regresji wielorakiej sposobem badania zależności między zestawem zmiennych niezależnych a metryczną zmienną zależną. Choć nie sprawdzają się w wypadku związków liniowych, to ich niewątpliwymi zaletami jest brak konieczności tworzenia zmiennych zerojedynkowych ze zmiennych kategorialnych i brak konieczności standaryzowania zmiennych. Powoduje to, że ich interpretacja jest klarowna i ograniczona do zestawu zdań warunkowych typu: jeżeli, to. Autorzy algorytmu podkreślają, że drzewa mogą być również wykorzystane do wstępnego rozpoznania struktury danych. Może się bowiem okazać, że węzły wydzielone w początkowych krokach analizy stanowią podzbiory danych, w których można użyć regresji wielorakiej. Istnieją dwa sposoby budowania modeli regresyjnych CART: średnia z wariancją i mediana ze średnim odchyleniem bezwzględnym. Pierwszy daje wyższą trafność predykcji i charakteryzuje się krótszym czasem analizy, natomiast drugi jest odporny na przypadki odstające i asymetrię rozkładów. Budując modele regresyjne warto wykorzystać obie metody i wybrać tę, która najlepiej rozwiązuje problem badawczy.

Każde drzewo decyzyjne jest reprezentacją pewnego zbioru reguł decyzyjnych, przy czym każdej ścieżce od korzenia do liścia odpowiada jedna reguła. -Jeżeli Kłopoty z kręgosłupem=tak, to Sport=Pływanie -Jeżeli Kłopoty z kręgosłupem=nie & Kontuzja kolana=tak, to Sport=Pływanie -Jeżeli Kłopoty z kręgosłupem=nie & Kontuzja kolana=tak, to Sport=Biegi Oczywiście, nie każdy zbiór reguł będzie miał swój odpowiednik w postaci drzewa. Możliwe jest także, że algorytm generujący drzewo decyzyjne będzie generował również zbiór reguł decyzyjnych nie pokrywających się z tymi, które wynikają bezpośrednio z samej struktury drzewa. Zabieg ten stosuje się, aby dostarczyć reguły w formie jak najbardziej zminimalizowanej.

-Jeżeli Kłopoty z kręgosłupem=tak, to Sport=Pływanie -Jeżeli Kłopoty z kręgosłupem=nie & Kontuzja kolana=tak, to Sport=Pływanie -Jeżeli Kłopoty z kręgosłupem=nie & Kontuzja kolana=tak, to Sport=Biegi

Przycinanie drzewa

Przycinanie drzewa

Metody przycinania drzew Metody przycinania drzew można dzielić na grupy według różnych kryteriów. Podział podstawowy to: -Przycinanie w trakcie wzrostu (ang. pre-pruning). Drzewo jest przycinane w trakcie jego tworzenia tzn. algorytm rozrostu zawiera kryterium stopu zapobiegające powstawaniu zbyt dużych drzew. Bardzo trudno jest znaleźć takie kryterium, co prowadzi do tego, że metoda ta nie daje zbyt dobrych wyników. Przykładem może być tutaj algorytm ID3 IV, gdzie jako jedno z kryteriów stopu został wprowadzony test χ2. -Przycinanie rozrośniętego drzewa (ang. post-pruning). Generowane jest pełne drzewo, a przycinanie następuje potem. Proces ten jest rozpoczynany przy liściach i sukcesywnie wędruje w kierunku korzenia. Przykładem stosującym takie podejście może być algorytm C4.5. -Metody mieszane Kombinacje metod z dwóch poprzednich grup.

Postpruning: Subtree replacement (zastąpienie poddrzewa)

Po co stosujemy przycinanie drzew? Aby uniknąć 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 mieć 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.

Przykład algorytmu CART

CART Charakterystyczną cechą tego algorytmu jest nadmierny rozrost drzewa i przycinanie poszczególnych gałęzi w celu zredukowania opisu liści. Drzewa CART są ściśle binarne, budowane poprzez przeprowadzenie dla każdego węzła decyzyjnego dogłębnego przeszukania wszystkich dostępnych zmiennych i wszystkich możliwych podziałów, wybierając optymalny podział zgodnie z kryterium: t L lewy potomek drzewa t t P prawy potomek drzewa t

Oryginalny zbiór

Zbiór testowy Zbiór uczący Oryginalny zbiór

Outlook = overcast

Stąd nasze PL=2 a PR=7. Następnie sprawdzamy ile w naszym PL i PR występuje decyzji PLAY i DON T PLAY, w PL decyzji PLAY mamy 2, DON T PLAY mamy 0, a w PR decyzji PLAY mamy 3 natomiast DON T PLAY 4. Obliczamy prawdopodobieństwa wybrania lewego poddrzewa P(PL) i prawego poddrzewa P(PR), oraz prawdopodobieństwa wybrania wartości PLAY i DON T PLAY w prawym i lewym poddrzewie.

Na podstawie wcześniej wykonanych obliczeń obliczamy indeks Gini ego.

Outlook = rainy Outlook = sunny

Temp <=70 Po otrzymaniu podziału na prawe i lewe poddrzewo rozpoczynamy działanie naszego algorytmu od początku na obu drzewach w celu znalezienia kolejnych podziałów. W lewym poddrzewie otrzymaliśmy trzy możliwe podziały: temp<=65, windy = true oraz windy = false. Wybraliśmy podział windy = true w ten sposób otrzymaliśmy w liść PLAY gdy windy = false.

Humidity <=80

Zalety drzew decyzyjnych Efektywna (pamięciowo) reprezentacja pojęć; drzewa dają możliwie skrótowy zapis wiedzy. Możliwość reprezentacji złożonych pojęć; 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ść przejścia od drzew decyzyjnych do reguł decyzyjnych.

Wady drzew decyzyjnych Możliwość 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ęć (ale nie ma reprezentacji hipotez efektywnej dla wszystkich pojęć). Wymaga się w większości algorytmów by atrybuty decyzyjne były dyskretne. Mała stabilność drzewa - niewielka zmiana w drzewie wymaga ponownego uruchomienia algorytmu budowy drzewa.

Ocena jakości klasyfikacji W celu zbadania skuteczności danego klasyfikatora należy przeprowadzić szereg testów z wykorzystaniem dwóch zbiorów: treningowego, na podstawie którego klasyfikator "uczy się" poprawnej klasyfikacji, oraz testowego, na podstawie którego jest sprawdzana jakość generalizacji badanego klasyfikatora tzn. jak dobrze, klasyfikator "nauczony" na zbiorze treningowym, radzi sobie z klasyfikacją danych ze zbioru treningowego. Oczywiście, aby ocenić jakość klasyfikacji zbioru testowego, konieczna jest znajomość prawdziwej przynależność jego elementów do klas i porównanie jej z przyporządkowaniem elementów do klas zaproponowanym przez klasyfikator. Idealną sytuacją byłoby, gdyby istniała możliwość dysponowania zbiorami, treningowym i testowym, pochodzącymi z różnych badań i zawierającymi odpowiednio duże ilości danych. Jednak, zazwyczaj, z powodu różnych trudności praktycznych, do dyspozycji jest tylko jeden zbiór danych (w dodatku często o małej liczebności).

Aby poradzić sobie z tym problemem stosuje się kilka technik podziału zbioru na treningowy i testowy: Dane wejściowe treningowy zbiór krotek (przykładów, obserwacji, próbek), będących lista wartości atrybutów opisowych (tzw. deskryptorów) i wybranego atrybutu decyzyjnego (ang. class label attribute) Dane wyjściowe model (klasyfikator), przydziela każdej krotce wartość atrybutu decyzyjnego w oparciu o wartości pozostałych atrybutów (deskryptorów)

Etap 1: Klasyfikacja danych jest dwuetapowym procesem: budowa modelu (klasyfikatora) opisującego predefiniowany zbiór klas danych lub zbiór pojęć Etap 2: 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 dwuetapowo: Uczenie (trening) klasyfikator jest budowany w oparciu o zbiór treningowy danych Testowanie dokładność (jakość) klasyfikatora jest weryfikowana w oparciu o zbiór testowy danych

Wynik klasyfikacji: Reguły klasyfikacyjne postaci if - then Formuły logiczne Drzewa decyzyjne Dokładność modelu: Dla przykładów testowych, dla których znane są wartości atrybutu decyzyjnego, wartości te są porównywane z wartościami atrybutu decyzyjnego generowanymi dla tych przykładów przez klasyfikator Współczynnik dokładności (ang. accuracy rate) = % procent przykładów testowych poprawnie zaklasyfikowanych przez model

Metody oceny jakości klasyfikacji Prosta walidacja Jest to najbardziej typowy rodzaj walidacji, w którym próbę dzieli się losowo na rozłączne zbiory: uczący i testowy. Zwykle zbiór testowy stanowi mniej niż 1/3 próby. Niektórzy nie zaliczają tego typu walidacji do metody sprawdzianu krzyżowego. K-krotna walidacja W tej metodzie, oryginalna próba jest dzielona na K podzbiorów. Następnie kolejno każdy z nich bierze się jako zbiór testowy, a pozostałe razem jako zbiór uczący i wykonuje analizę. Analiza jest więc wykonywana K razy. K rezultatów jest następnie uśrednianych (lub łączonych w inny sposób) w celu uzyskania jednego wyniku. Leave-one-out Jest to odmiana walidacji K-krotnej, gdy N-elementowa próba jest dzielona na N podzbiorów, zawierających po jednym elemencie. Stosowana często dla małych zbiorów danych.

Krzywe ROC Metoda wywodzi sie z teorii detekcji sygnału. Eksperci analizując badaną dziedzinę, dokonują oceny poszczególnych obiektów, wykrywają patologie, a wyniki ich binarnych decyzji (patologia jest bądź nie występuje), nanoszone są w postaci punktów na układ współrzędnych ROC, przy czym każdy punkt reprezentuje estymacje prawdopodobieństwa prawdziwej i fałszywej decyzji kolejnego specjalisty, czyli skuteczność jego pracy. Znanym jest przecież zjawisko polegające na tym, że zwykle analiza przynosi pewną liczbę przypadków poprawnych decyzji, potwierdzających rzeczywistą obecność patologii (prawdziwe pozytywne) oraz jej brak (prawdziwe negatywne), zdarzają się jednak również tzw. wskazania błędne (fałszywe negatywne i fałszywe pozytywne), tym liczniejsze im większy wpływ złe dobranych parametrów czy np błędne dane, słabe warunki pomiarowe, brak doświadczenia.

Krzywa ROC powstaje w wyniku umieszczenia punktów na osi współrzędnych, gdzie: oś rzędnych reprezentuje czułość (ang. sensitivity), a oś odciętych - trafność (ang. specificity) określaną często jako wrażliwość.

Czułość Czułość określana jest przez procentową zawartość liczby decyzji prawdziwie pozytywnych Npp wśród wszystkich ocen stwierdzających patologie Npat według zależności: trafność Czułość pokazuje więc zdolność eksperta do wykrycia wszystkich patologii. Z kolei trafność opisuje poprawność procesu detekcji, czyli mówi o skuteczności w podejmowaniu trafnych decyzji. Definiowana jest jako liczba decyzji prawdziwie negatywnych do wszystkich patologii, z tym samym pokazuje Zdolność do unikania błędnych decyzji co do braku oznak patologii. Wyrażana jest wzorem:

Jeśli przyjmie się założenie, że dokonywana jest klasyfikacja danego elementu do dwóch klas, z których jedna oznacza stan normalny a druga patologiczny, można wprowadzić następujące oznaczenia: TN (true negative) - liczba prawidłowych klasyfikacji stanu normalnego FP (false positive) - liczba nieprawidłowych klasyfikacji stanu normalnego jako patologicznego FN (false negative) - liczba nieprawidłowych klasyfikacji stanu patologicznego jako normalnego TP (true positive) - liczba prawidłowych klasyfikacji stanu patologicznego Dla idealnego klasyfikatora wartości FP i FN będą wynosić zero, a wartości TN i TP będą równe odpowiednio, liczbie próbek odpowiadających stanowi normalnemu oraz liczbie próbek odpowiadających stanowi patologicznemu.

TN (true negative) - liczba prawidłowych klasyfikacji stanu normalnego FP (false positive) - liczba nieprawidłowych klasyfikacji stanu normalnego jako patologicznego FN (false negative) - liczba nieprawidłowych klasyfikacji stanu patologicznego jako normalnego TP (true positive) - liczba prawidłowych klasyfikacji stanu patologicznego Wówczas wrażliwość odpowiada mierze: zaś czułość definiowana jest jako:

Czułość (sensitivity, recall) i swoistość (specificity) SN TP TP FN TP RealPositives SP TN TN FP Re TN alnegatives Accuracy TP TN TP TN FP FN

Krzywa ROC Stosowana do oceny metody klasyfikacji czy metoda jest dobra i przy jakich parametrach jest najlepsza. SN TP TP FN TP RealPositives TN SP TN FP Re TN alnegatives

Przykład - wykreślanie ROC Rozpoznawanie pacjentów z niedoczynnością tarczycy (hypothyroid) i oddzielenie od zdrowych (euthyroid) na podstawie badania poziomu hormonu tarczycy T4. Jako przypadek pozytywny traktujemy obecność schorzenia, braknegatywny. Pytania: -Czy klasyfikator, który ocenia pacjenta tylko na podstawie jego poziomu T4, w taki sposób że dzieli pacjentów na 2 grupy: poniżej pewnego progu T4/ powyżej progu) jest dobrym klasyfikatorem? -Dla jakiej wartości odcinającej T4, która dzieli chorych od zdrowych jest optymalny? Odpowiedzią jest ROC wykreślony dla tej metody.

Przykład Wartość T4 Hypothyroid Euthyroid 5 lub mniej 18 1 5.1-7 7 17 7.1-9 4 36 9 lub więcej 3 39 Razem: 32 93 Goldstein and Mushlin (J. Gen. Intern. Med. 1987 2 20-24). http://www.mlahanas.de/moea/med/roc21.htm

Przykład cd Załóżmy, że badana metoda klasyfikacji pacjentów z poziomem odcięcia: T4<=5 ( wszyscy pacjenci z T4<=5 klasyfikowani jako hypothyroid (pozytywni), pozostali jako zdrowi-euthyroid, negatywni). W tabeli dane rzeczywiste zbioru walidujacego metodę. Wartość T4 Hypothyroid Euthyroid 5 lub mniej 18 1 > 5 14 92 Razem: 32 93 TP=?; FN=?; TN=?; FP=? SN TP TP FN SP TN TN FP

Przykład cd Załóżmy, że badana metoda klasyfikacji pacjentów z poziomem odcięcia: T4<=5 ( wszyscy pacjenci z T4<=5 klasyfikowani jako hypothyroid (pozytywni), pozostali jako zdrowi-euthyroid, negatywni). W tabeli dane rzeczywiste zbioru walidujacego metodę. Wartość T4 Hypothyroid Euthyroid 5 lub mniej 18 1 > 5 14 92 Razem: 32 93 SN TP TP FN 18 18 14 0.56 SP TN TN FP 92 92 1 0.989 TP=18; FN=14; TN=92; FP=1

Przykład cd Załóżmy, że badana metoda klasyfikacji pacjentów z poziomem odcięcia: T4<=7 Wartość T4 Hypothyroid Euthyroid 7 lub mniej 25 18 > 7 7 75 Razem: 32 93 SN TP TP FN 25 25 7 0.78 SP TN TN FP 75 75 18 0.807

cd Zadanie: Obliczyć kolejny punkt dla ROC przy poziomie odcięcia T4<=9 Wartość T4 Hypothyroid Euthyroid 9 lub mniej 29 54 > 9 3 39 Razem: 32 93

Wykreślenie krzywej ROC Cięcie Sensitivity Specificity 5 0.563 0.989 7 0.781 0.806 9 0.906 0.419 Wzrost jednego parametru powoduje spadek drugiego. Wybieramy zwykle kompromis, czyli na przekątnej (punkt odcięcia 7)

Poprawienie metody Krzywa na przekątnej oznacza wynik losowy klasyfikator bezwartościowy. Miarą jakości metody jest pole pod krzywą ROC (AUC- area under curve). Im bliższe AUC=1 tym lepsza metoda 0.90 1.00 = bardzo dobra 0.80-0.90 = dobra 0.70-0.80 = dostateczna 0.60-0.70 = słaba 0.50-0.60 = do niczego

F-statystyka Oprócz AUC (pola pod krzywą ROC), miarą dobroci klasyfikatora jest też F-statystyka (harmoniczna średnia): Precision TP ClassifiedAsPositives TP TP FP Recall TN Re alnegatives TN TN FP

relewantne nierelewantne Wyszukane 8 1 niewyszukane 2 7

relewantne nierelewantne Wyszukane 8 1 niewyszukane 2 7

relewantne nierelewantne Wyszukane 8 1 niewyszukane 2 7

relewantne nierelewantne Wyszukane 8 1 niewyszukane 2 7

relewantne nierelewantne Wyszukane 8 1 niewyszukane 2 7 TP 8 TN 7 Sensitivit y 0,8 Specificit y 0, 88 TP FN 8 2 FP TN 7 1

Inne metody

Walidacja krzyżowa

Schemat CV-n

Wielokrotne repróbkowanie

Metoda leave-one-out Zbiór treningowy jest wykorzystywany w całości jako zbiór testowy: - Dla każdego obiektu o konstruujemy klasyfikator wykorzystujący wszystkie obiekty z wyjątkiem o. - Obiekt o klasyfikujemy i zapamiętujemy wynik. - Po przetestowaniu wszystkich obiektów sumujemy wyniki. Metoda równoważna CV-n dla n równego liczbie obiektów w zbiorze. Metoda zwykle bardzo wolna, jednak można ją stosować w sytuacjach, gdy trening klasyfikatora jest czynnością bardzo prostą (np. naiwny klasyfikator bayesowski - wystarczy tak zmodyfikować prawdopodobieństwa, by ominąć obiekt o).