Klasyfikacja. Wprowadzenie. Klasyfikacja (1)

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

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

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

Data Mining Wykład 4. Plan wykładu

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

Klasyfikacja obiektów Drzewa decyzyjne (drzewa klasyfikacyjne)

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

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

B jest globalnym pokryciem zbioru {d} wtedy i tylko wtedy, gdy {d} zależy od B i nie istnieje B T takie, że {d} zależy od B ;

Algorytmy klasyfikacji

INDUKOWANE REGUŁY DECYZYJNE ALORYTM APRIORI JAROSŁAW FIBICH

Indukowane Reguły Decyzyjne I. Wykład 3

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

Co to są drzewa decyzji

Drzewa decyzyjne i lasy losowe

Wybrane zadania przygotowujące do egzaminu z ISO- cz. 2. dr Piotr Wąsiewicz

Data Mining Wykład 3. Algorytmy odkrywania binarnych reguł asocjacyjnych. Plan wykładu

WYKŁAD 11 Uczenie maszynowe drzewa decyzyjne

Klasyfikacja. Obcinanie drzewa Naiwny klasyfikator Bayes a knn Dokładność klasyfikacji. Eksploracja danych. Klasyfikacja wykład 3

WYKŁAD 6. Reguły decyzyjne

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

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

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

Wprowadzenie Sformułowanie problemu Typy reguł asocjacyjnych Proces odkrywania reguł asocjacyjnych. Data Mining Wykład 2

Automatyczne wyodrębnianie reguł

ALGORYTM RANDOM FOREST

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

TEMP BÓL WYSYPKA GARDŁO DIAGNOZA

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

8. Drzewa decyzyjne, bagging, boosting i lasy losowe

Odkrywanie wiedzy w danych

Indukowane Reguły Decyzyjne I. Wykład 8

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Elementy modelowania matematycznego

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

Grupowanie Witold Andrzejewski, Politechnika Poznańska, Wydział Informatyki 201/633

Drzewa klasyfikacyjne Lasy losowe. Wprowadzenie

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

Indukcja drzew decyzyjnych

Algorytmy odkrywania binarnych reguł asocjacyjnych

Metody eksploracji danych. Reguły asocjacyjne

Sztuczna Inteligencja Projekt

mgr inż. Magdalena Deckert Poznań, r. Metody przyrostowego uczenia się ze strumieni danych.

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

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

Ewelina Dziura Krzysztof Maryański

1. Odkrywanie asocjacji

Algorytmy i Struktury Danych

Odkrywanie asocjacji


Data Mining Wykład 6. Naiwny klasyfikator Bayes a Maszyna wektorów nośnych (SVM) Naiwny klasyfikator Bayesa.

Wyk lad 7: Drzewa decyzyjne dla dużych zbiorów danych

Wprowadzenie do klasyfikacji

prowadzący dr ADRIAN HORZYK /~horzyk tel.: Konsultacje paw. D-13/325

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

Hierarchiczna analiza skupień

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >

Optymalizacja systemów

Systemy uczące się wykład 2

Modelowanie motywów łańcuchami Markowa wyższego rzędu

Aproksymacja funkcji a regresja symboliczna

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

Sztuczna Inteligencja Projekt

Eksploracja danych. Grupowanie. Wprowadzanie Definicja problemu Klasyfikacja metod grupowania Grupowanie hierarchiczne. Grupowanie wykład 1

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

Identyfikacja istotnych atrybutów za pomocą Baysowskich miar konfirmacji

Laboratorium 6. Indukcja drzew decyzyjnych.

Drzewa klasyfikacyjne algorytm podstawowy

Temat: Algorytmy zachłanne

A Zadanie

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

Algorytmy metaheurystyczne Wykład 11. Piotr Syga

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Metody Eksploracji Danych. Klasyfikacja

INDUKCJA DRZEW DECYZYJNYCH

Testowanie modeli predykcyjnych

Metody systemowe i decyzyjne w informatyce

Poprawność semantyczna

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Drzewa decyzyjne. 1. Wprowadzenie.

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Drzewa Decyzyjne, cz.2

Klasyfikacja metodą Bayesa

Wprowadzenie. Data Science Uczenie się pod nadzorem

Metody indukcji reguł

Wstęp do Sztucznej Inteligencji

Tadeusz Pankowski

1.7. Eksploracja danych: pogłębianie, przeszukiwanie i wyławianie

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

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

Optymalizacja ciągła

ED Laboratorium 3. Drzewa decyzyjne

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

Wprowadzenie do uczenia maszynowego

Spacery losowe generowanie realizacji procesu losowego

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

Laboratorium 4. Naiwny klasyfikator Bayesa.

Przykładowe B+ drzewo

Transkrypt:

Klasyfikacja Wprowadzenie Celem procesu klasyfikacji jest znalezienie ogólnego modelu podziału zbioru predefiniowanych klas obiektów na podstawie pewnego zbioru danych historycznych, a następnie, zastosowanie odkrytego modelu do predykcji klasy nowego obiektu, dla którego klasa nie jest znana str. 2 Klasyfikacja (1) Dane wejściowe: treningowy zbiór rekordów D (danych, przykładów, obiektów, obserwacji, próbek, wektorów cech), będących listą wartości atrybutów warunkowych A 1, A 2,, A n (tzw. deskryptorów lub atrybutów opisowych) i wybranego atrybutu decyzyjnego C (ang. class label attribute) Dane wyjściowe: model(klasyfikator), przydziela każdemu rekordowi wartość atrybutu decyzyjnego w oparciu o wartości pozostałych atrybutów (deskryptorów) str. 3

Klasyfikacja (2) Każdy rekord d jest reprezentowany w zbiorze D w postaci (n + 1)- wymiarowego wektora, d = (A 1 = x 1, A 2 = x 2,, A n = x n, C = C i ), gdzie A = (A 1, A 2,, A n ) oznacza zbiór atrybutów warunkowych, natomiast C oznacza atrybut decyzyjny Atrybut decyzyjny C jest atrybutem kategorycznym Wartości atrybutu decyzyjnego C = (C 1, C 2,, C m ), gdzie m > 2, nazywamy etykietami klas (ang. class labels), klasami decyzyjnymi lub krótko klasami Wartości atrybutu decyzyjnego dzielą zbiór rekordów na predefiniowane, rozłączne klasy, składające się z rekordów o tej samej wartości atrybutu decyzyjnego Atrybuty warunkowe A 1, A 2,, A n mogą być zarówno atrybutami kategorycznymi, jak i atrybutami ciągłymi str. 4 Czym jest klasyfikacja? (1) Cel klasyfikacji - znalezienie dla danego zbioru danych Dfunkcji klasyfikacyjnej (ang. classification function), lub krótko klasyfikatora, która odwzorowuje każdy rekord danych d = (A 1 = x 1, A 2 = x 2,, A n = x n ) w etykietę klasy C i, C i C Funkcja klasyfikacyjna (klasyfikator) służy do predykcji wartości atrybutu decyzyjnego (klasy) krotek, dla których wartość atrybutu decyzyjnego, tj. przydział do klasy, nie jest znany Klasyfikacja danych jest procesem dwu-etapowym : 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 Spring 2003 5 Czym jest klasyfikacja? (2) Zbiór dostępnych krotek (przykładów, obserwacji, próbek) dzielimy, w ogólności, 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 trafność (jakość) klasyfikatora jest weryfikowana w oparciu o zbiór testowy danych str. 6

Czym jest klasyfikacja? (3) zbiór treningowy uczenie modelu model klasyfikacyjny zbiór testowy zastosowanie modelu str. 7 Uczenie i testowanie Model klasyfikacyjny: Reguły klasyfikacyjne postaci if - then Formuły logiczne Drzewa decyzyjne Jakość modelu klasyfikacyjnego: 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 trafności (ang. accuracyrate) = % procent przykładów testowych poprawnie zaklasyfikowanych przez model Błąd klasyfikacji (ang. classification eror) - % procent przykładów testowych niepoprawnie zaklasyfikowanych przez model str. 8 Uczenie algorytm klasyfikacji dane treningowe Wiek Typ_sam Ryzyko 20 Combi High 18 Sports High 40 Sports High 50 Family Low 35 Minivan Low 30 Combi High 32 Family Low 40 Combi Low Klasyfikator (model) ifwiek< 31 or Typ_sam = Sports thenryzyko= High str. 9

Testowanie dane testowe klasyfikator (model) Wiek Typ_sam Ryzyko 27 Sports High 34 Family Low 66 Family High 44 Sports High Ryzyko High Low Low High Trafność= 3/4 = 75% str. 10 Klasyfikacja nowe dane klasyfikator (model) Wiek Typ_sam Ryzyko 27 Sports 34 Minivan 55 Family 34 Sports Ryzyko High Low Low High str. 11 Klasyfikacja vs predykcja Dwie metody, które są stosowane do analizy danychi ekstrakcjimodeli opisujących klasy danych lub do predykcji trendów: klasyfikacja: predykcja wartości atrybutu kategorycznego (predykcja klasy) predykcja: modelowanie funkcji ciągłych str. 12

Kryteria oceny algorytmów klasyfikacyjnych Dokładność predykcji (ang. predictive accuracy): zdolność modelu do poprawnej predykcji wartości atrybutu decyzyjnego (klasy) nowego przykładu Efektywność (ang. speed): koszt obliczeniowy związany z wygenerowaniem i zastosowaniem klasyfikatora Odporność modelu (ang. robustness): zdolność modelu do poprawnej predykcji klas w przypadku braku części danych lub występowania danych zaszumionych Skalowalność (ang. scalability): zdolność do konstrukcji klasyfikatora dla dowolnie dużych wolumenów danych Interpretowalność(ang. interpretability): w jakim stopniu konstrukcja klasyfikatora pozwala na zrozumienie mechanizmu klasyfikacji danych Kryteria dziedzinowo-zależne str. 13 Klasyfikacja przez indukcje drzew decyzyjnych (1) Drzewo decyzyjne jest grafem o strukturze drzewiastej, gdzie każdy wierzchołek wewnętrzny reprezentuje test na atrybucie (atrybutach), każdy luk reprezentuje wynik testu, każdy liść reprezentuje pojedynczą klasę lub rozkład wartości klas Wiek< 31 Y N Typ_sam= sports High Y N High Low str. 14 Klasyfikacja przez indukcje drzew decyzyjnych (2) Drzewo decyzyjne rekurencyjnie dzieli zbiór treningowy na partycje do momentu, w którym każda partycja zawiera dane należące do jednej klasy, lub, gdy w ramach partycji dominują dane należące do jednej klasy Każdy wierzchołek wewnętrzny drzewa zawiera tzw. punktpodziału(ang. split point),którym jest test na atrybucie, który dzieli zbiór danych na partycje Drzewo decyzyjne jest konstruowane w dwóch krokach: Krok 1: Konstrukcja drzewa decyzyjnego w oparciu o zbiór treningowy Krok 2: Przycinanie drzewa w celu poprawy dokładności, interpretowalności i uniezależnienia się od efektu przetrenowania str. 15

Klasyfikacja przez indukcje drzew decyzyjnych (3) Algorytm podstawowy: algorytm zachłanny, który konstruuje rekurencyjnie drzewo decyzyjne metodą top-down Wiele wariantów algorytmu podstawowego (źródła): uczenie maszynowe (ID3, C4.5) statystyka (CART) rozpoznawanie obrazów (CHAID) Podstawowa różnica: kryterium podziału str. 16 Konstrukcja drzewa decyzyjnego (1) W fazie konstrukcji drzewa, zbiór treningowy jest dzielony na partycje, rekurencyjnie, w punktach podziału do momentu, gdy każda z partycji jest czysta (zawiera dane należące wyłącznie do jednej klasy) lub liczba elementów partycji dostatecznie mała (spada poniżej pewnego zadanego progu) str. 17 Konstrukcja drzewa decyzyjnego (2) Postać testu stanowiącego punkt podziału zależy od kryterium podziału i typu danych atrybutu występującego w teście: dla atrybutu ciągłego A, test ma postać wartość(a) < x, gdzie x należy do dziedziny atrybutu A, x dom(a) dla atrybutu kategorycznego A, test ma postać wartość(a) X, gdzie X dom(a) str. 18

Konstrukcja drzewa decyzyjnego (3) W trakcie budowy drzewa decyzyjnego, wybieramy taki atrybut i taki punkt podziału, określający wierzchołek wewnętrzny drzewa decyzyjnego,który najlepiej dzieli zbiór danych treningowych należących do tego wierzchołka Do ocenyjakości punktu podziału zaproponowano szereg kryteriów (wskaźników) str. 19 Kryteria oceny podziału Indeks Giniego (Gini indeks)(algorytmy CART, SPRINT) Wybieramy atrybut, który minimalizuje indeks Giniego Zysk informacyjny (algorytmy ID3, C4.5) Wybieramy atrybut, który maksymalizuje redukcję entropii Indeks korelacji χ2 (algorytm CHAID) Mierzymy korelację pomiędzy każdym atrybutem i każdą klasą (wartością atrybutu decyzyjnego) Wybieramy atrybut o maksymalnej korelacji str. 20 Ogólny algorytm konstrukcji drzewa decyzyjnego (1) (ID3) Wejście: zbiór treningowy D, zbiór atrybutów warunkowych A, metoda wyboru punktu podziału SS Wyjście: drzewo decyzyjne ukorzenione w wierzchołku N 1. procedure BuildTree(D; A; SS): 2. utwórz wierzchołek drzewa decyzyjnego N; 3. ifwszystkie rekordy zbioru D należą do tej samej klasy C then 4. return wierzchołek N jako liść drzewa decyzyjnego i przypisz temu wierzchołkowi etykietę klasy C; 5. end if 6. iflista_atrybutów A jest pusta then 7. return wierzchołek N jako liść drzewa i przypisz temu wierzchołkowi etykietę klasy dominującej w zbiorze treningowym D; 8. end if str. 21

Ogólny algorytm konstrukcji drzewa decyzyjnego (2) 9. zastosuj metodę SS w celu wybrania atrybutu-podziałowego ze zbioru A; 10. przypisz wierzchołkowi N etykietę atrybutu-podziałowego; 11. for allwartości a i atrybutu-podziałowego do 12. S i zbiór rekordów D o wartości atrybutu-podziałowego = a i ; 13. N i BuildTree(S i, (lista_atrybutów A) - (atrybut-podziałowy), SS); 14. utwórz krawędź z N do N i etykietowaną wartością ai; 15. end for 16. return wierzchołek N; str. 22 Ogólny algorytm konstrukcji drzewa decyzyjnego (3) Skonstruowanie dowolnego algorytmu tworzenia drzew decyzyjnych jest związane z koniecznością rozwiązania dwóch podstawowych problemów: należy określić warunki stopu dla procedury BuildTree; trzeba zdefiniować metodę SS wyboru punktu podziału zbioru treningowego, tj. metodę wyboru atrybutu podziałowego i, ewentualnie określić test na atrybucie podziałowym. str. 23 Ogólny algorytm konstrukcji drzewa decyzyjnego (4) Przedstawiony algorytm zakłada dwa warunki stopu: jeżeli wierzchołek jest czysty, to znaczy, jeżeli wszystkie rekordy partycji związanej z wierzchołkiem należą do tej samej klasy jeżeli lista atrybutów warunkowych w wywołaniu procedury BuildTree jest pusta i nie można wybrać już kolejnego atrybutu podziałowego Dodatkowe warunki stopu: procedura konstrukcji drzewa zostaje zakończona, jeżeli wartości atrybutów warunkowych, które pozostały do analizy, wszystkich rekordów partycji związanej z wierzchołkiem są identyczne, procedura konstrukcji drzewa zostaje zakończona, jeżeli liczba rekordów partycji związanej z wierzchołkiem jest mniejsza od pewnego zadanego progu, inne str. 24

Zysk infomacyjny(1) Algorytm ID3 - metoda wyboru punktu podziału SS wykorzystuje do wyboru atrybutu podziałowego miarę zysku informacyjnego(ang. information gain) Jako atrybut testowy (aktualny wierzchołek drzewa decyzyjnego) wybieramy atrybut o największym zysku informacyjnym (lub największej redukcji entropii) Atrybut testowy minimalizuje ilość informacji niezbędnej do klasyfikacji przykładów w partycjach uzyskanych w wyniku podziału str. 25 Zysk infomacyjny(2) Niech S oznacza zbiór s przykładów. Załóżmy, że atrybut decyzyjny posiada m różnych wartości definiujących m klas, C i (dla i=1,..., m) Niech s i oznacza liczbę przykładów zbioru S należących do klasy C i Oczekiwana ilość informacji niezbędna do zaklasyfikowania danego przykładu: I(s 1, s 2,..., s m ) = - p i log 2 (p i ) str. 26 Zysk infomacyjny(3) Niech p i oznacza prawdopodobieństwo, że dowolny przykład należy do klasy C i (oszacowanie - s i /s). Niech atrybut A posiada v różnych wartości, {a 1, a 2,..., a v }. Atrybut A dzieli zbiór S na partycje {S 1, S 2,..., S v }, gdzie S j zawiera przykłady ze zbioru S, których wartość atrybutu A wynosi a j Wybierając atrybut A jako atrybut testowy tworzymy wierzchołek drzewa, którego łuki wychodzące posiadają etykiety {a 1, a 2,..., a v } i łączą dany wierzchołek A z wierzchołkami zawierającymi partycje {S 1, S 2,..., S v } str. 27

Zysk infomacyjny(4) Niech s ij oznacza liczbę przykładów z klasy C i w partycji S j. Entropię podziału zbioru S na partycje, według atrybutu A definiujemy następująco: (s E(A 1, A 2,...Av) = \ 1j + s 2j +...+smj) ]^_ I(s Z 1j, s 2j,..., s mj ) Im mniejsza wartość entropii, tym większa czystość podziału zbioru S na partycje str. 28 Zysk infomacyjny(5) Współczynnik (s 1j + s 2j +...+s mj )/s stanowi wagę j-tej partycji i zdefiniowany jest jako iloraz liczby przykładów w j-tej partycji (i.e. krotek posiadających wartość a j atrybutu A) do całkowitej liczby przykładów w zbiorze S Dla danej partycji S j, I(s 1j, s 2j,..., s mj ) = - p ij log 2 (p ij ) gdzie p ij = s ij / S j, określa prawdopodobieństwo, że przykład z S j należy do klasy C i str. 29 Zysk infomacyjny(6) Zysk informacyjny,wynikający z podziału zbioru S na partycje według atrybutu A, definiujemy następująco: Gain(A) = I(s 1, s 2,..., s m ) E(A) Gain(A) oznacza oczekiwaną redukcję entropii (nieuporządkowania) spowodowaną znajomością wartości atrybutu A str. 30

Przykład (1) ID wiek dochód student status kupi_lomputer 1 <=30 wysoki nie kawaler nie 2 <=30 wysoki nie żonaty nie 3 31..40 wysoki nie kawaler tak 4 >40 średni nie kawaler tak 5 >40 niski tak kawaler tak 6 >40 niski tak żonaty nie 7 31..40 niski tak żonaty tak 8 <=30 średni nie kawaler nie 9 <=30 niski tak kawaler tak 10 >40 średni tak kawaler tak 11 <=30 średni tak żonaty tak 12 31..40 średni nie żonaty tak 13 31..40 wysoki tak kawaler tak 14 >40 średni nie żonaty nie str. 31 Przykład (2) Rozważmy przedstawiony zbiór treningowy opisujący klientów sklepu komputerowego Atrybut decyzyjny, kupi_komputer,posiada dwie wartości (tak, nie), stąd, wyróżniamy dwie klasy (m=2) C 1 odpowiada wartości tak - s 1 = 9 C 2 odpowiada wartości nie - s 2 = 5 I(s 1, s 2 )=I(9, 5)= - 9/14log 2 9/14 5/14log 2 5/14= 0.94 str. 32 Przykład (3) Następnie, obliczamy entropię każdego deskryptora. Rozpocznijmy od atrybutu wiek dla wiek = <=30 s 11 =2 s 21 =3 I(s 11, s 21 ) = 0.971 dla wiek = 31..40 s 12 =4 s 22 =0 I(s 12, s 22 ) = 0 dla wiek = >40 s 13 =2 s 23 =3 I(s 13, s 23 ) = 0.971 str. 33

Przykład (4) Entropia atrybutu wiek wynosi: E(wiek)=5/14 *I(s 11, s 21 ) +4/14* I(s 12, s 22 ) + + 5/14* I(s 13, s 23 ) = 0.694 Zysk informacyjny wynikający z podziału zbioru S według atrybutu wiek wynosi: Gain(wiek) = I(s 1, s 2 ) E(wiek) = 0.246 Analogicznie obliczamy zysk informacyjny dla pozostałych atrybutów: Gain(dochód)=0.029, Gain(student)=0.151 Gain(status)=0.048 str. 34 Przykład (5) Atrybut wiekdaje największy zysk informacyjny spośród wszystkich deskryptorów, atrybut ten jest wybierany jako pierwszy atrybut testowy. Tworzymy wierzchołek drzewa o etykiecie wiek, oraz etykietowane łuki wychodzące, łączące wierzchołek wiekz wierzchołkami odpowiadającymi partycjom zbioru utworzonymi według atrybutu wiek str. 35 Przykład (6) wiek <=30 31..40 >40 kupi_komputer: tak, nie kupi_komputer: tak, nie kupi_komputer: tak str. 36

Przykład (7) wiek student <=30 31..40 tak >40 status nie tak żonaty kawaler nie tak nie tak Ostateczna postać drzewa decyzyjnego str. 37 Współczynnik zysku (1) Wadą zysku informacyjnego jest to, że miara ta faworyzuje atrybuty o dużej liczbie różnych wartości Miara zysku informacyjnego daje ten sam wynik dla dwóch atrybutów podziałowych A i B, jeżeli rozkład klas w partycjach uzyskanych w wyniku podziału zbioru treningowego według atrybutu A i B jest identyczny, niezależnie od liczby wartości tych atrybutów Wybierając atrybut podziałowy o dużej liczbie wartości, możemy uzyskać partycje o niewielkiej liczbie rekordów i wynik klasyfikowania na ich podstawie nowego rekordu może być mało wiarygodny str. 38 Współczynnik zysku (2) Rozwiązanie - modyfikacji miary zysku informacyjnego przyjętej w metodzie wyboru punktu podziału w taki sposób, aby skompensować przedstawiony efekt faworyzowania atrybutów o dużej liczbie wartości (algorytm C4.5) Miara współczynnika zysku (ang. gainratio) dla atrybutu A jest zdefiniowana w następujący sposób: Gain ratio(a) = defg(h) ijkfl mgno(h) gdzie Split Info(A) oznacza współczynnik podziału str. 39

Współczynnik zysku (3) Współczynnik podziału charakteryzuje podział zbioru treningowego D na v podzbiorów według v wartości atrybutu podziałowego A Współczynnik podziału atrybutu A opisuje wzór: \ Split Info (A) = p f^r stu q 2 i f if q gdzie v oznacza liczbę różnych wartości atrybutu A, S i rozmiar (liczbę rekordów) podzbioru S j uzyskanego w wyniku podziału zbioru treningowego D według wartości atrybutu A, a D rozmiar zbioru treningowego D str. 40 Algorytm konstrukcji DD indeks Giniego Popularnym kryterium podziału, stosowanym w wielu produktach komercyjnych, jest indeks Giniego Algorytm SPRINT (IBM Inteligent Miner) Wejście: zbiór treningowy D, zbiór atrybutów warunkowych A, metoda wyboru punktu podziału SS Wyjście: drzewo decyzyjne ukorzenione w wierzchołku N 1. procedure BuildTree(D; A; SS):. str. 41 Algorytm konstrukcji DD indeks Giniego 9. zastosuj metodę SS w celu wybrania atrybutu i kryterium podziałowego; 10. przypisz wierzchołkowi N etykietę kryterium-podziałowego; 11. zastosuj kryterium podziałowe do podziału zbioru D na partycje D 1 i D 2 ; 12. S i zbiór rekordów D należących do partycji D i ; 13. N i BuildTree(S i, (lista_atrybutów A) - (atrybut-podziałowy), SS); 14. utwórz krawędź z N do N i etykietowaną wartością kryterium podziałowego; 15. returnwierzchołek N; Celem metody SS jest znalezienie atrybutu warunkowego oraz testu na tym atrybucie, który najlepiej dzieli zbiór treningowy D na dwa podzbiory D 1 i D 2 Atrybut A, który wykorzystujemy do podziału zbioru treningowego D, nazywamy atrybutem podziałowym (ang. splittingattribute), natomiast test na atrybucie podziałowym A, nazywamy predykatem podziałowym (ang. splitting predicate). str. 42

Indeks Giniego(1) Dany jest zbiór D zawierający n rekordów oraz atrybut decyzyjny, który przyjmuje mróżnych wartości, definiując m rozłącznych klas C i, dla i = 1,, m, s i oznacza liczbę rekordów zbioru D należących do klasy C i, dla i = 1,, m. Nieuporządkowanie zbioru D, zgodnie z miarą indeksu Giniego, jest zdefiniowane następująco: gini(d) = 1 - v P 2 ]^r j gdzie P j oznacza prawdopodobieństwo, że dany rekord zbioru D należy do klasy C j ; prawdopodobieństwo to estymujemy względną częstością występowania klasy C j w D, to jest: P j = Z ] q str. 43 Indeks Giniego(2) Przykładowo: dwie klasy, Pos i Neg, oraz zbiór przykładów D zawierający p elementów należących do klasy Pos i n elementów należących do klasy Neg P pos = p/(p+n) P neg = n/(n+p) gini(d) = 1 - P pos2 - P 2 neg Załóżmy, że metodą wyboru punktu podziału został wybrany atrybut podziałowy A, który dzieli zbiór treningowy D na dwa podzbiory D 1 i D 2 str. 44 Indeks Giniego(3) Indeks podziału Ginigini A split(d 1, D 2 ) binarnego podziału zbioru treningowego D na podzbiory (partycje) D 1 i D 2, zgodnie z predykatem podziałowym zdefiniowanym dla atrybutu A, jest zdefiniowany w następujący sposób: gini A split(d 1, D 2 ) = q r q gini(d 1) + q w q gini(d 2) str. 45

Indeks Giniego(4) Indeks podziału Gini jest ważoną sumą indeksów Giniego podzbiorów D 1 i D 2 określających nieuporządkowanie zbiorów D 1 i D 2 Indeks podziału Ginidefiniuje nieuporządkowanie zbioru treningowego D uzyskane w wyniku podziału na podzbiory na podzbiory D 1 i D 2 Różnica wartości miar Gain Gini (A) = gini(d) - gini A split(d 1, D 2 ) definiuje różnicę uporządkowania zbioru treningowego D przed i po podziale zbioru D na podzbiory D1 i D2 dla atrybutu podziałowego A str. 46 Indeks Giniego(5) Gain Gini (A) określa redukcję nieuporządkowania zbioru D w wyniku podziału zbioru D na podzbiory D 1 i D 2 dla atrybutu podziałowego A Maksymalną redukcje nieuporządkowania uzyskujemy, minimalizując wartość indeksu podziału Gini stąd, najlepszym punktem podziału zbioru D jest punkt podziału, który charakteryzuje się najmniejszą wartością indeksu podziału Gini str. 47 Idea algorytmu 1. Dla każdego atrybutu, dla wszystkich możliwych punktów podziału, oblicz wartość indeksu podziału Gini wybierz punkt podziału o najmniejszej wartości indeksu podziału Gini 2. Wybrany punkt podziału włącz do drzewa decyzyjnego 3. Punkt podziału dzieli zbiór D na dwie partycje D 1 i D 2 4. Powtórz procedurę obliczania indeksu podziału Gini dla partycji D 1 i D 2 znalezione punkty podziału włącz do drzewa decyzyjnego 5. Powtarzaj procedurę dla kolejnych partycji aż do osiągnięcia warunku stopu str. 48

Przykład (1) ID Wiek Typ_sam Ryzyko 0 23 family high 1 17 sport high 2 43 sport high 3 68 family low 4 32 truck low 5 20 family high Zbiór treningowy D Lista wartości atrybutuwiek oraz atrybutu Typ_sam Wiek ID Ryzyko 17 1 high 20 5 high 23 0 high 32 4 low 43 2 high 68 3 low Typ_sam ID Ryzyko family 0 high sport 1 high sport 2 high family 3 low truck 4 low family 5 high str. 49 Przykład (2) Możliwe punkty podziału dla atrybutu Wiek: Wiek 17, Wiek 20, Wiek 23, Wiek 32, Wiek 43 Obliczmy wartości indeksu podziału Gini dla poszczególnych punktów podziału Wiek 17 Liczba krotek High Low Wiek<=17 1 0 Wiek >17 3 2 gini(wiek <= 17) = 1- (1 2 +0 2 ) = 0 gini(wiek > 17) = 1- ((3/5) 2 +(2/5) 2 ) = 0,73 gini SPLIT = (1/6) * 0 + (5/6) * (0,73) 2 = 0,4 str. 50 Przykład (3) Wiek 20 Liczba krotek High Low Wiek<=20 2 0 Wiek >20 2 2 gini(wiek<=20) = 1-(1 2 +0 2 ) = 0 gini(wiek>20) = 1-((1/2) 2 +(1/2) 2 ) = 1/2 gini SPLIT = (2/6) * 0 + (4/6) * (1/8) = 1/3 Wiek 23 Liczba krotek High Low Wiek <=23 3 0 Wiek >23 1 2 gini(wiek 23) = 1-(1 2 +0 2 ) = 0 gini(wiek>23) = 1-((1/3) 2 +(2/3) 2 ) = 4/9 gini SPLIT = (3/6) * 0 + (3/6) * (4/9) = 2/9 str. 51

Przykład (4) Wiek 32 Liczba krotek High Low Wiek <=32 3 1 Wiek >32 1 1 gini(age 32) = 1-((3/4) 2 +(1/4) 2 ) = 3/8 gini(age>32) = 1-((1/2) 2 +(1/2) 2 ) = 1/2 gini SPLIT = (4/6)*(3/8) + (2/6)*(1/2) = 7/24 Wiek 43 Liczba krotek High Low Wiek <=43 4 1 Wiek >43 0 1 gini(age 43) = 1-((4/5) 2 +(1/5) 2 ) = 8/25 gini(age>43) = 1-((1/1) 2 +(0/1) 2 ) = 0 gini SPLIT = (5/6)*(8/25) + (1/6)*(0) = 4/15 str. 52 Przykład (5) Obliczamy następnie wartości indeksu podziału gini split dla atrybutu Typ_sam Najmniejszą wartość indeksu podziału gini SPLIT posiada punkt podziału Wiek 23, stąd, tworzymy wierzchołek drzewa decyzyjnego dla punktu podziału Wiek = (23+32) / 2 = 27.5 Wiek 27,5 Wiek > 27,5 Ryzyko = High Ryzyko = Low str. 53 Przykład (6) Listę wartości atrybutów dzielimy w punkcie podziału: Listy wartości atrybutów dla Wiek 27.5: Wiek ID Ryzyko 17 1 high 20 5 high 23 0 high Typ_sam ID Ryzyko family 0 high sport 1 high family 5 high Listy wartości atrybutów dla Wiek > 27.5: Wiek ID Ryzyko 32 4 low 43 2 high 68 3 low Typ_sam ID Ryzyko sport 2 high family 3 low truck 4 low str. 54

Przykład (7) Ocena punktów podziału dla atrybutu kategorycznego Musimy dokonać ocenywszystkichpunktów podziałuatrybutu kategorycznego (2 N 2 kombinacji), gdzien oznacza liczbę wartości atrybutu kategorycznego Liczba krotek High Low Typ_sam= {sport} 1 0 Typ_sam ={family] 0 1 Typ_sam= {truck} 0 1 gini(typ_sam {sport}) = 1 1 2 0 2 = 0 gini(typ_sam {family}) = 1 0 2 1 2 = 0 gini(typ_sam {truck}) = 1 0 2 1 2 = 0 str. 55 Przykład (8) gini(typ_sam { sport, family }) = 1 - (1/2) 2 - (1/2) 2 = 1/2 gini(typ_sam { sport, truck }) = 1/2 gini(typ_sam { family, truck }) = 1-0 2-1 2 = 0 gini SPLIT (Typ_sam { sport }) = (1/3) * 0 + (2/3) * 0 = 0 gini SPLIT (Typ_sam { family }) = (1/3) * 0 + (2/3)*(1/2) = 1/3 gini SPLIT (Typ_sam { truck }) = (1/3) * 0 + (2/3)*(1/2) = 1/3 gini SPLIT (Typ_sam { sport, family}) = (2/3)*(1/2)+(1/3)*0= 1/3 gini SPLIT (Typ_sam { sport, truck}) = (2/3)*(1/2)+(1/3)*0= 1/3 gini SPLIT (Typ_sam { family, truck }) = (2/3)*0+(1/3)*0=0 str. 56 Przykład (9) Najmniejszą wartość indeksu podziału gini SPLIT posiada punkt podziału Typ_sam {sport}. Tworzymy wierzchołek w drzewie decyzyjnym dla tego punktu podziału. Drzewo decyzyjne po wprowadzeniu wierzchołka ma postać: Wiek 27,5 Wiek > 27,5 Ryzyko = High Typ_sam {sport} Typ_sam {family, truck} Ryzyko = High Ryzyko= Low str. 57

Błędy klasyfikatorów (1) Błędy popełniane przez modele klasyfikacyjne: błędy treningowe - błędem treningowym klasyfikatora nazywamy stosunek niepoprawnie zaklasyfikowanych rekordów zbioru treningowego do łącznej liczby rekordów tego zbioru błędy testowe - błędem testowym klasyfikatora nazywamy stosunek niepoprawnie zaklasyfikowanych rekordów zbioru testowego do łącznej liczby rekordów tego zbioru błędy generalizacji (lub uogólnienia) - błędem generalizacji klasyfikatora nazywamy oczekiwany błąd klasyfikacji na zbiorze nowych rekordów, dla których wartość atrybutu decyzyjnego nie jest znana str. 58 Błędy klasyfikatorów (2) Cel algorytmów konstrukcji drzew decyzyjnych konstrukcja drzew decyzyjnych maksymalnie wiernie odzwierciedlających strukturę zbioru treningowego (minimalizacja błędu treningowego) Drzewo decyzyjne wiernie odzwierciedlające strukturę zbioru treningowego drzewo silnie dopasowane do danych treningowych minimalizacja błędu treningowego minimalizacja błędu testowego minimalizacja błędu testowego minimalizacja błędu generalizacji Drzewo decyzyjne o zerowym błędzie treningowym może mieć niezerowy błąd testowy, i drzewo decyzyjne o niezerowym błędzie treningowym może mieć zerowy błąd testowy str. 59 Przykład (1) id wiek status dochód dzieci ryzyko 1 25 kawaler niski 0 wysokie 2 28 żonaty niski 1 wysokie 3 29 kawaler wysoki 0 małe 4 31 kawaler niski 0 wysokie 5 35 żonaty średni 1 małe 6 38 rozwodnik wysoki 2 małe 7 38 rozwodnik niski 2 wysokie 8 39 rozwodnik wysoki 0 wysokie 9 41 żonaty średni 1 małe 10 42 rozwodnik średni 4 wysokie 11 45 żonaty średni 2 małe 12 48 żonaty średni 1 małe 13 56 żonaty wysoki 2 małe 14 56 rozwodnik wysoki 2 wysokie dochód niski wysoki status wysokie żonaty żonaty dzieci małe 2 2 Drzewo 1 małe wysokie str. 60

Przykład (2) id wiek status dochód dzieci ryzyko 15 27 żonaty niski 1 wysokie 16 35 żonaty średni 2 małe 17 40 rozwodnik średni 2 wysokie 18 48 kawaler niski 0 wysokie 19 55 rozwodnik średni 2 wysokie 20 44 żonaty wysoki 1 małe Zbiór danych testowych Błąd treningowy Drzewa 1 wynosi 0% Błąd klasyfikacji Drzewa 1 na danych testowych (błąd testowy) wynosi 30% str. 61 Przykład (3) dochód niski niski status Drzewo 2 wysokie żonaty żonaty małe wysokie Błąd treningowy Drzewa 2 wynosi 21,4 % Błąd klasyfikacji Drzewa 2 na danych testowych (błąd testowy) wynosi 0 % Modyfikację drzewa decyzyjnego, polegającą na zastąpieniu poddrzewa liściem drzewa, nazywamy upraszczaniemlub przycinaniem drzewa decyzyjnego str. 62 Przeuczenie klasyfikatora (1) Zbyt silne dopasowanie drzewa decyzyjnego do zbioru danych treningowych ze względu: na występowanie niepoprawnych lub sprzecznych rekordów treningowych, zbyt małą liczbę rekordów treningowych lub niereprezentatywność zbioru treningowego, może skutkować pogorszeniem trafności klasyfikacji i zwiększeniem błędu generalizacji Zjawisko to nazywamy przeuczeniem klasyfikatora lub nadmiernym dopasowaniem klasyfikatora do zbioru danych treningowych Przeuczenie klasyfikatora K1 (np. drzewa decyzyjnego), lub nadmierne dopasowanie klasyfikatora K1 do zbioru treningowego D -- jeżeli istnieje inny klasyfikator K2, który można skonstruować dla zbioru treningowego D, o większym błędzie treningowym, ale o mniejszym błędzie testowym str. 63

Przeuczenie klasyfikatora (2) błąd treningowy błąd testowy liczba wierzchołków drzewa str. 64 Przycinanie drzewa (1) Po zakończeniu fazy konstrukcji drzewa decyzyjnego wiele gałęzi drzewa odzwierciedla anomalie w zbiorze danych treningowych (szum i punkty osobliwe) Przycinanie drzew decyzyjnych usuwanie mało wiarygodnych gałęzi poprawia efektywność klasyfikacji poprawia zdolność klasyfikatora do klasyfikacji nowych przypadków Metody przycinania drzew decyzyjnych bazują najczęściej na miarach statystycznych (np. MDL) str. 65 Przycinanie drzewa (2) Wstępne przycinanie drzewa (stop): drzewo jest przycinane poprzez wcześniejsze zatrzymanie procedury konstrukcji drzewa (tj. wstrzymujemy dalsze dzielenie zbioru treningowego na partycje) Przycinanie drzewa po zakończeniu konstrukcji (obcinanie drzewa): usuwamy gałęzie (i wierzchołki) po zakończeniu procedury konstrukcji drzewa str. 66

Klasyfikatory regułowe Zbiór reguł klasyfikacyjnych postaci: gdzie r: IF < warunek> THEN < konkluzja> lub alternatywnie r: <warunek > < konkluzja > konkluzja (nastepnik) określa klas decyzyjną warunek (poprzednik) jest koniunkcją testów zdefiniowanych na atrybutach opisowych str. 67 Pojęcia podstawowe (1) Warunek: warunek = (A 1 op v 1 ) and (A 2 op v 2 ) and (A k op v k ) Reguła r pokrywa rekord x (obiekt x) jeżeli wartości atrybutów opisowych rekordu x spełniają poprzednik reguły r (lub inaczej, rekord x jest pokrywany przez regułę r) str. 68 Pojęcia podstawowe (2) RID age status income children risk 1 <=30 bachelor low 0 high 2 <=30 married low 1 high 3 <=30 bachelor high 0 low 4 31..40 bachelor low 0 high 5 31..40 married medium 1 low 6 31..40 divorced high 2 low 7 31..40 divorced low 2 high 8 31..40 divorced high 0 low 9 > 40 married medium 1 low 10 > 40 divorced medium 4 high 11 > 40 married medium 2 low 12 > 40 married medium 1 high 13 > 40 married high 2 high 14 > 40 divorced high 3 low str. 69

Pojęcia podstawowe (3) Zbiór reguł: r1: IFincome = high andchildren = 0 andstatus = bachelor THENrisk = low r2: IFincome = medium andchildren = 1..2 THENrisk = low r3: IFincome = low THENrisk = high r4: IF income = medium andstatus = divorced THENrisk = high reguła r3 pokrywa rekordy 1, 2, 4, i 7 reguła r2 pokrywa rekordy 5, 9, 11 i 12 reguła r1 pokrywa rekord 3 str. 70 Pojęcia podstawowe (4) Zbiór reguł klasyfikacyjnych R ma najczęściej normalną postać dysjunkcyjną: R = (r1 r2 rk) (każda reguła jest analizowana przez klasyfikator niezależnie od innych reguł) Podstawowe miary oceny jakości reguł klasyfikacyjnych: pokrycie (ang. coverage) trafność (ang. accuracy) str. 71 Miary oceny jakości reguł (1) Dany jest zbiór rekordów D oraz reguła klasyfikacyjna r: cond y Pokrycie reguły: Stosunek liczby rekordów zbioru D, które są pokrywane przez regułę r do łącznej liczby rekordów zbioru D pokrycie(r) = D cond / D gdzie D cond liczba rekordów zbioru D pokrywana przez r str. 72

Miary oceny jakości reguł (2) Trafność reguły: Stosunek liczby rekordów zbioru D, które spełniają zarówno poprzednik, jak i następnik reguły r do liczby rekordów, które spełniają poprzednik reguły r: trafność(r) = D cond y / D cond gdzie D cond y liczba rekordów zbioru D, które spełniają zarówno poprzednik, jak i następnik reguły r str. 73 Miary oceny jakości reguł (3) Przykład: pokrycie(r3) = 4/14 = 28,5% pokrycie(r1) = 1/14 = 7% pokrycie(r2) = 4/14 = 28,5% trafność(r3) =trafność(r1) = 100% trafność (r2) = 75% str. 74 Jak działa klasyfikator regułowy? Klasyfikator regułowy klasyfikuje rekord danych w oparciu o regułę ze zbioru R pokrywającą dany rekord RID age status income children risk 1 <=30 bachelor high 0? 2 31..40 divorced medium 1? 3 > 40 bachelor medium 0? Rekord 1 jest pokryty przez regułę r1, stąd rekord 1 przydzielamy do klasy low Rekord 2 jest pokryty przez dwie reguły r2 i r4 reguły r2 i r4 maja różne następniki (nie wiadomo do jakiej klasy przydzielić rekord 2) Rekord 3 nie jest pokryty przez żadną z reguł zbioru R str. 75

Własności klasyfikatorów regułowych(1) Wzajemne wykluczanie Reguły klasyfikacyjne należące do zbioru reguł R wzajemnie się wykluczają(ang. mutually exclusive rules), jeżeli żadne dwie reguły należące R nie pokrywają tego samego rekordu Wzajemne wykluczanie się reguł zbioru R gwarantuje, że każdy rekord ze zbioru danych D jest pokryty maksymalnie przez jedną regułę Wyczerpujące pokrycie Zbiór reguł klasyfikacyjnych R ma wyczerpujące pokrycie zbioru danych D (ang. exhaustivecoverage), jeżeli dla każdej kombinacji wartości atrybutów opisowych danych z D istnieje w R reguła pokrywająca taką kombinacje wartości Ta własność zbioru reguł R gwarantuje, ze każdy rekord zbioru Djest pokryty przez co najmniej jedną regułę ze zbioru R str. 76 Własności klasyfikatorów regułowych(2) Wniosek: Jeżeli reguły klasyfikacyjne zbioru R wzajemnie się wykluczają i, dodatkowo, zbiór R ma wyczerpujące pokrycie zbioru danych D, to każdy rekord zbioru Djest pokryty dokładnie przez jedną regułę klasyfikacyjną ze zbioru R A co jeżeli klasyfikator regułowy nie posiada tych własności? Problemy: 1. żadna z reguł klasyfikacyjnych zbioru R nie pokrywa rekordu X 2. rekord danych X może być pokryty przez kilka reguł klasyfikacyjnych ze zbioru R i, dodatkowo, reguły te mogą mieć różne następniki, to jest, mogą określać różne klasy decyzyjne dla rekordu X str. 77 Własności klasyfikatorów regułowych(3) Jeżeli zbiór reguł R nie ma wyczerpującego pokrycia, wprowadzamy regułę domyślną r d : () y d Reguła domyślna r d ma pusty poprzednik, natomiast następnik reguły r d określa domyślną klasę y d, która jest klasą decyzyjną dominującą w zbiorze rekordów zbioru D, które nie są pokryte przez reguły zbioru R Jeżeli żadna z reguł zbioru R nie pokrywa rekordu X, to do klasyfikacji rekordu X stosuje się regułę r d : () y d str. 78

Własności klasyfikatorów regułowych(4) Jeżeli reguły zbioru R wzajemnie się nie wykluczają, wówczas rekord danych X może być pokryty przez kilka reguł Dwa podejścia: Uporządkowany zbiór reguł Nieuporządkowany zbiór reguł str. 79 Uporządkowany zbiór reguł Reguły należące do zbioru Rsą uporządkowane malejąco zgodnie z ich priorytetami Zbiór reguł uporządkowany na podstawie ich priorytetów nazywamy listą decyzyjną Priorytet reguły można zdefiniować na podstawie: pokrycia, trafności, kolejności generowania reguł W przypadku klasyfikacji nowego rekordu X: wybierana jest ze zbioru R reguła pokrywająca rekord X o najwyższym priorytecie z listy decyzyjnej, w przypadku, gdy żadna reguła nie pokrywa rekordu X, do klasyfikacji rekordu X stosuje się regułę domyślną r d : () y d str. 80 Nieuporządkowany zbiór reguł Reguły zbioru R są nieuporządkowane rekord danych X może być pokryty przez kilka reguł Klasyfikacja oparta na mechanizmie głosowania Następnik każdej reguły pokrywającej X jest odpowiednikiem oddania głosu na dana klasę decyzyjną rekord X jest przypisywany do tej klasy, która otrzyma najwięcej głosów Regułom przypisujemy wagi Rozwiązanie bardziej odporne na błędy spowodowane błędnym rankingiem reguł Rozwiązanie droższe str. 81

Schematy porządkowania reguł Globalny ranking reguł (ang. rule-based ordering scheme Wszystkie reguły zbioru R są uporządkowane w oparciu o przyjętą miarę oceny jakości reguły (priorytet) Schemat zapewnia, że każdy rekord jest klasyfikowany przez najlepszą regułę Trudna interpretacja reguł niskim priorytecie negacja poprzedników wszystkich reguł o wyższym poziomie + poprzednik reguły Lokalny ranking reguł określających tę samą klasę decyzyjną (ang. class-based ordering) Reguły o tym samym następniku są grupowane razem Porządek reguł w ramach grupy nieistotny Grupy reguł są uporządkowane w ramach listy decyzyjnej w kolejności malejącej ważności ich klas decyzyjnych str. 82 Konstrukcja klasyfikatorów regułowych Metody pośrednie: ekstrakcja reguł z innych modeli klasyfikacyjnych (np. drzewa decyzyjne, sieci neuronowe, etc). np.: C4.5rules Metody bezpośrednie: ekstrakcja reguł bezpośrednio z danych np.: RIPPER, CN2 str. 83 Ekstrakcja reguł z drzew decyzyjnych (1) Dowolne drzewo decyzyjne można relatywnie prosto przekształcić w zbiór reguł klasyfikacyjnych postaci IF-THEN Pojedyncza reguła jest tworzona dla każdej ścieżki w drzewie od korzenia do liścia Poprzednikiem tej reguły jest koniunkcja wszystkich testów zdefiniowanych w wierzchołkach wewnętrznych drzewa decyzyjnego należących do ścieżki łączącej korzeń z liściem, a następnikiem klasa decyzyjna przydzielona do liścia tej ścieżki str. 84

Ekstrakcja reguł z drzew decyzyjnych (2) Drzewo decyzyjne Drzewo 1 transformujemy następująco: IF dochód= niski THEN ryzyko= wysokie IF dochód = wysoki AND status= żonaty THEN ryzyko= małe IF dochód = wysoki AND status= żonaty AND dzieci= 2 THEN ryzyko= małe IF dochód = wysoki AND status= żonaty AND dzieci= 2 THEN ryzyko= wysokie str. 85 Ekstrakcja reguł z drzew decyzyjnych (3) Czasami zbiór reguł klasyfikacyjnych uzyskanych z przekształcenia drzewa decyzyjnego jest zbyt złożony i nadmiarowy W fazie postprocessingu reguły są przycinane przez usuwanie nadmiarowych testów w poprzednikach reguł Ekstrakcja reguł klasyfikacyjnych z nieprzyciętego drzewa decyzyjnego Dla każdej otrzymanej reguły, r: A y, analizowane są, po kolei, wszystkie testy stanowiące poprzednik reguły r rozważ regułę alternatywną r : A y gdzie A otrzymujemy z A przez usunięcie jednego z testów należących do A str. 86 Ekstrakcja reguł z drzew decyzyjnych (4) dany test jest usuwany z reguły, analizowany jest zbiór rekordów treningowych pokrywanych przez nową regułę klasyfikacyjną i obliczane jest pesymistyczne oszacowanie trafności klasyfikacji dla tej reguły klasyfikacyjnej oszacowanie to jest porównywane z pesymistycznym oszacowaniem trafności klasyfikacji oryginalnej reguły jeżeli oszacowanie trafności zmodyfikowanej reguły jest lepsze aniżeli oszacowanie trafności oryginalnej reguły, to dany test jest usuwany z reguły klasyfikacyjnej procedura jest kontynuowana dla wszystkich testów wchodzących w skład poprzednika reguły r str. 87

Ekstrakcja reguł z drzew decyzyjnych (5) procedurze przycinania są poddane wszystkie reguły uzyskane z przekształcenia drzewa decyzyjnego w kolejnym kroku sprawdza się, czy uzyskany zbiór reguł nie zawiera duplikatów, to jest identycznych reguł - jeżeli występują duplikaty, to są one usuwane ze zbioru reguł na zakończenie procedury sprawdza się, czy uzyskany zbiór reguł pokrywa wszystkie klasy decyzyjne str. 88 Ogólny algorytm ekstrakcji reguł klasyfikacyjnych Reguły klasyfikacyjne można wywieść bezpośrednio ze zbioru danych treningowych bez konieczności etapu transformacji innego modelu klasyfikacyjnego Podstawowym algorytmem bezpośredniej ekstrakcji reguł klasyfikacyjnych ze zbioru danych treningowych jest sekwencyjny algorytm pokrycia (ang. sequential covering algorithm) Algorytm sekwencyjnego pokrycia generuje sekwencyjnie, reguła po regule, reguły klasyfikacyjne dla każdej klasy decyzyjnej str. 89 Algorytm sekwencyjnego pokrycia (1) Input: zbiór danych treningowych D, uporządkowany zbiór klas C = {C1, C2,..., Ck}, zbiór wszystkich par atrybut-wartość {(Aj, vj)} Output: zbiór reguł klasyfikacyjnych R 1: R {}; 2: for each classci C Ckdo 3: whilestopping condition is not met do 4: r Learn p One p Rule(D,A,Ci); 5: remove training records from D that are covered by the rule r; 6: add the rule r to the bottomof the rule set R, R R r; 7: end while 8: end for 9: add the default rule r d : {} Ck to the bottom of R, R R r d str. 90

Algorytm sekwencyjnego pokrycia (2) Uporządkuj zbiór klas decyzyjnych C, np. w malejącym porządku względnej częstości ich występowania w zbiorze D Inicjuj zbiór reguł R Procedura Learn-One-Ruleznajduje najlepszą regułę dla klasy Ci (reguła r): wszystkie rekordy zbioru D należące do klasy Ci są traktowane jako przykłady pozytywne, pozostałe rekordy zbioru D należące do innych klas są traktowane jako przykłady negatywne Usuń rekordy pokrywane przez regułę r Powtarzaj procedurę aż do spełnienia warunku stopu Przejdź do generowania reguł dla następnej klasy decyzyjnej str. 91 Algorytm sekwencyjnego pokrycia (3) (ii) Step 1 str. 92 Algorytm sekwencyjnego pokrycia (4) R1 R1 R2 (iii) Step 2 (iv) Step 3 str. 93

Algorytm sekwencyjnego pokrycia (5) Dwa warunki stopu: wyczerpanie rekordów treningowych należących do danej klasy decyzyjnej jeżeli trafność znalezionej reguły jest poniżej zadanej wartości progowej Celem procedury Learn-One-Rulejest znalezienie reguły dla klasy Ci pokrywającej wiele przykładów pozytywnych i żadnego (lub niewielu) przykładów negatywnych Znalezienie optymalnej reguły jest obliczeniowo kosztowne W procedurze Learn-One-Rulestosuje się podejście zachłanne do znajdowania reguł Polega ono na konstrukcji początkowej reguły r, a następnie na jej poprawianiu (rozszerzaniu lub zawężaniu), aż do spełnienia określonego warunku stopu str. 94 Strategie zachłanne konstrukcji reguł Dwa podejścia zachłanne używane do konstrukcji reguły klasyfikacyjnej: od ogółu do szczegółu (ang. general-to-specific) od szczegółu do ogółu (ang. specific-to-general) str. 95 Od ogółu do szczegółu (1) Zaczynamy od reguły pustej: {} klasa Reguła pokrywa wszystkie rekordy zbioru D Dodajemy nowe testy do reguły w celu poprawy jej jakości Proces dodawania nowych testów kontynuujemy tak długo, aż nie zostanie spełniony warunek stopu (np. kiedy dodanie nowego testu nie poprawia już jakości reguły) str. 96

Od ogółu do szczegółu (2) {} class income = high income = medium age= <= 30 income = medium and status=married income = medium and status= divorced str. 97 Od szczegółu do ogółu (1) Zaczynamy od pojedynczego przykładu pozytywnego (wybranego losowo) jako reguły początkowej procesu konstrukcji reguły klasyfikacyjnej Reguła początkowa pokrywa jeden (lub wiele) rekordów Krok poprawiania: reguła jest uogólniana przez usunięcie jednego z testów poprzednika reguły (reguła pokrywa więcej przykładów) Krok poprawiania jest kontynuowany aż do osiągnięcia warunku stopu (np. kiedy nowa reguła zaczyna pokrywać przykłady negatywne lub kiedy usunięcie testu nie prowadzi do poprawy jakości reguły) str. 98 Od szczegółu do ogółu (2) age <= 30 and status = bachelor and income = low and children = 0 high status = bachelor and income = low and children = 0 high age <= 30 and status = bachelor and income = low high str. 99

Miary oceny reguł (1) Potrzebujemy miary (miar) aby określić, który z testów powinien być dodany do reguły (lub usunięty) Oczywistym wyborem powinna być miara trafności, jednakże nie bierze ona pod uwagę pokrycia reguły Przykład: dany jest zbiór rekordów D zawierający 100 przykładów: D zawiera 40 przykładów pozytywnych i 60 przykładów negatywnych Dane są reguły r1 i r2 o trafności, odpowiednio, 95% and 100% - reguła r1 pokrywa 38 przykładów pozytywnych i 2 przykłady negatywne, natomiast reguła r2 pokrywa 2 przykłady pozytywne Która z reguł jest lepsza? str. 100 Miary oceny reguł (2) Zysk informacyjny (Information gain): Dana jest reguła r0: A C i, która pokrywa pos przykładów pozytywnych i neg przykładów negatywnych. Załóżmy, że dodajemy nowy test B do poprzednika reguły r0 i otrzymujemy nowa regułę r1: r1: A B C i która pokrywa pos* przykładów pozytywnych i neg* przykładów negatywnych. Zysk informacyjny rozszerzonej reguły r1 jest następujący: pos = pos (log w pos + neg - log pos w pos + neg ) str. 101 Miary oceny reguł (3) Zysk informacyjny: Gain(r1) = 38(log 2 (38/40) log 2 (40/100)) = 47,47 Gain(r2) = 2(log 2 (2/2) log 2 (40/100)) = 2,64 zakładamy, że obie reguły r1 i r2 są rozszerzeniami reguły początkowej r: {} + str. 102

Miary oceny reguł (4) Statystyczny wskaźnik wiarygodności: (Likelihood ratio statistic) fi R = f log ( ) e k 2 i 2 i= 1 i gdzie k oznacza liczbę klas decyzyjnych, f i oznacza częstość występowania klasy C i w zbiorze rekordów pokrywanych przez regułę r, natomiast e i to oczekiwana częstość klasy C i str. 103 Miary oceny reguł (5) Statystyczny wskaźnik wiarygodności : w rozważanym przykładzie mamy dwie klasy: C1 klasa przykładów pozytywnych (40 przykładów), C2 - klasa przykładów negatywnych (60 przykładów) dla reguły r1 oczekiwana częstość klas wynosi: e(c1) = 40 40/100= 16 e(c2) = 60 60/100= 24 R(r1) = 2 [38 log 2 (38/16) + 2 log 2 (2/24)] = 74,56 R(r2) = 2 [2 log 2 (2/0,8) + 0 log 2 (0/1,2)] = 5,29 r1 ma wyższy statystyczny wskaźnik wiarygodności aniżeli r2 str. 104 Miary oceny reguł (6) Miary statystyczne Laplace m-estimate n c + 1 = n+ k n c + = n+kp k n : liczba rekordów pokrywana przez regułę n c : liczba przykładów pozytywnych pokrywanych przez regułę k : liczba klas p : prawdopodobieństwo apriori wystąpienia klasy pozytywnej str. 105

Schemat algorytmu Ripper Algorytm skalowalny względem liczby rekordów zbioru treningowego Algorytm pozwala na konstrukcję klasyfikatora dla zbiorów danych o niezrównoważonym rozkładzie klas Algorytm odporny na zaszumione dane wykorzystuje koncepcję zbioru danych walidacyjnych Algorytm wykorzystuje strategię od ogółu do szczegółu Do oceny jakości reguł algorytm wykorzystuje miarę zysku informacyjnego Zbiór reguł R jest zorganizowany zgodnie z lokalnym rankingiem reguł (class-based scheme) str. 106 Algorytm Ripper(1) Algorytm RIPPER(pos, neg) Input: zbiór przykładów pozytywnych pos, zbiór przykładów negatywnych neg, zbiór A par atrybut-wartość {(Aj, vj)}, klasa C i Output: zbiór reguł R dla klasy C i 1: ruleset ; 2: DL DescLen(ruleset, pos, neg); 3: while pos <>0 do 4: podziel zbiór (pos, neg) na zbiór konstrukcyjny (KonstPos,KonstNeg) i zbiór walidacyjny (PrunePos,PruneNeg); 5: Rule Learn p One p Rule(KonstPos,KonstNeg, A,C i ); 6: Rule Prune p Rule(Rule,PrunePos,PruneNeg); str. 107 Algorytm Ripper(2) 7: ruleset ruleset Rule; 8: DL DescLen(ruleset, pos, neg); 9: ifdl > DL+ 64 then 10: ruleset ruleset p Rule; 11: return ruleset; 12: end if 13: usuń przykłady pozytywne i negatywne ze zbioru D pokrywane przez regułę Rule; 14: DL DL ; 15: end while 16: return ruleset; str. 108

Algorytm Ripper(3) Uporządkuj zbiór klas C w rosnącym porządku częstości występowania klas Dla każdej klasy C i, niezależnie, wygeneruj zbiór reguł Zainicjuj zbiór reguł R oraz parametr DL (długość opisu) Dwie pętle: zewnętrzna i wewnętrzna (while i LOR) W każdej iteracji pętli zewnętrznej jest generowana jedna reguła klasyfikacyjna (Rule) Warunek stopu dla pętli zewnętrznej: pos =0 (brak dalszych przykładów pozytywnych) Zbyt duża wartość parametru DL str. 109 Algorytm Ripper(4) Prosta procedura wydzielania zastosowana do podziału zbioru (pos, neg) na zbiór konstrukcyjny (KonstPos,KonstNeg) i zbiór walidacyjny (PrunePos,PruneNeg) (podział: 2/3 1/3) Procedura Learn-One-Rulegeneruje najlepszą regułę dla klasy C i (strategia od ogółu do szczegółu): Rozpoczynamy od reguły pustej Dodajemy nowe testy tak długo jak dodawanie nowych testów prowadzi do poprawy wartości miary zysku informacyjnego Kończymy dodawanie nowych testów kiedy reguła zaczyna pokrywać przykłady negatywne Następnie, reguła jest przycinana bazując na ocenie jej jakości na zbiorze walidacyjnym (Prune-Rule procedure) str. 110 Algorytm Ripper(5) Miara wykorzystywana do przycinania reguły: v = (p-n)/(p+n) p: liczba przykładów pozytywnych pokrywanych przez regułę w zbiorze danych walidacyjnych n: liczba przykładów negatywnych pokrywanych przez regułę w zbiorze danych walidacyjnych Metoda przycinania: delete any final sequence of conditions that maximizes v Każdorazowo, gdy nowa reguła Rule jest dodawana do zbioru reguł R obliczana jest nowa wartość parametru DL Procedura przycinania reguły jest realizowana w odwrotnej kolejności rozszerzania reguły i polega na usunięciu końcowej sekwencji testów Usuwana jest ta końcowa sekwencja dodawania nowych testów, która maksymalizuje wartość miary v. Usuwane są ze zbioru D przykłady pozytywne i negatywne pokrywane przez regułę Rule; str. 111

Klasyfikacja asocjacyjna (1) Do odkrywania reguł klasyfikacyjnych możemy zastosować algorytmy odkrywania wielowymiarowych reguł asocjacyjnych podejście to nosi nazwę klasyfikacji asocjacyjnej Podejście to odkrywa reguły postaci condset y, gdzie condset jest konkatenacją par atrybut-wartość, natomiast y oznacza klasę decyzyjną str. 112 Klasyfikacja asocjacyjna (2) RID age status income children risk 1 <=30 bachelor low 0 high 2 31..40 married medium 1 low 3 31..40 divirced high 2 low 4 > 40 married medium 2 low 5 < = 30 married low 1 high 6 31..40 divorced high 0 high 7 31..40 bachelor low 0 high 8 > 40 married high 2 low 9 > 40 married medium 1 low 10 31..40 divorced low 2 high 11 < = 30 bachelor high 0 low 12 > 40 divorced medium 4 high 13 > 40 married medium 1 low 14 > 40 divorced high 2 low str. 113 Klasyfikacja asocjacyjna (3) Przyjmując minsup=3/14, minconf=70% możemy odkryć 19 wielowymiarowych reguł asocjacyjnych postaci: 1. IF income= medium AND age= > 40 AND status= married THEN risk= low 2. IF income = medium AND children= 1 AND status= married THEN risk= low 3. IF age= > 40 AND status= married THEN risk= low 4. IF age= > 40 AND income = medium THEN risk= low 5. IF age= > 40 AND children= 2 THEN risk= low 6. IF status= married AND icome= medium THEN risk= low 7. IF status= married AND children= 1 THEN risk = low str. 114

Klasyfikacja asocjacyjna (4) 8. IF income= medium AND children = 1 THEN risk = low 9. IF income = high AND children = 2 THEN risk = low 10. IF age= 30..40 THEN risk = high 11. IF age= > 40 THEN risk = low 12. IF status= divorced THEN risk = high 13. IF status= married THEN risk = low 14. IF income = low THEN risk = high 15. IF income = medium THEN risk = low 16. IF income = high THEN risk = low 17. IF children = 0 THEN risk = high 18. IF children = 1 THEN risk = low 19. IF children = 2 THEN risk = low str. 115 Klasyfikacja asocjacyjna (5) Drzewo decyzyjne wygenerowane dla zbioru danych treningowych przedstawionych w tabeli ma następująca postać age student <=30 31..40 yes >40 credit_rating no yes excellent fair no yes no yes str. 116 Klasyfikacja asocjacyjna (6) Transformując drzewo decyzyjne do postaci zbioru reguł klasyfikacyjnych otrzymujemy 6 reguł klasyfikacyjnych: IF income= high AND children= 0 AND age= 30..40 THEN risk= high IF income = high AND children = 0 AND age= <= 30 THEN risk = low IF income = high AND children = 2 THEN risk = low IF income = medium AND status= married THEN risk = low IF income = medium AND status= divorced THEN risk = high IF income = low THEN risk = high str. 117

Klasyfikacja asocjacyjna (7) Wielowymiarowe reguły asocjacyjne (minsup, minconf) vs reguły klasyfikacyjne (brak progów typu minsup, minconf) Niektóre reguły występują w obu zbiorach Redukując minsup otrzymamy wszystkie CR (CR jest podzbiorem MAR) Zbiór MAR jest nadmiarowy (np. 9, 16, 19) Co ze zbiorem reguł R stanowiących klasyfikator? Trzy podejścia: Generacja zbioru MAR Konstrukcja klasyfikatora str. 118 Algorytm CBA (1) Klasyfikacja z wykorzystaniem asocjacji Algorytm składa się z dwóch części: Generacja MAR (CBA-RG) Konstrukcja modelu klasyfikacyjnego (klasyfikatora) (CBA-CB) CBA-RG generuje MAR wykorzystując podejście Apriori W każdej iteracji algorytm generuje reguły ze znalezionych zbiorów częstych Jeżeli algorytm wygenerował dwie reguły o tym samym poprzedniku, wówczas wybierana jest reguła o większej ufności: If A=1 and B=1 then DA=C1, sup=20%, conf=66,7% If A=1 and B=1 then DA=C2, sup=20%, conf=33,3% wybierana jest reguła pierwsza tzw. reguła możliwa, reguła druga jest usuwana str. 119 Algorytm CBA (2) CBA-CB konstruuje klasyfikator wykorzystując zbiór reguł możliwych Konstrukcja optymalnego klasyfikatora jest obliczeniowo bardzo kosztowna (2 m gdzie m oznacza liczbę reguł) Relacja porządku > na zbiorze możliwych reguł klasyfikacyjnych jest zdefiniowana następująco: reguła r1 poprzedza regułę r2, r1 > r2, wtedy, gdy: ufność reguły r1 jest większa aniżeli ufność reguły r2, lub posiadają taką sama ufność, ale wsparcie reguły r1 jest większe aniżeli wsparcie reguły r2, lub obie reguły posiadają takie samo wsparcie i ufność, ale reguła r1 została wygenerowana wcześniej aniżeli reguła r2 (lub jest krótsza) str. 120