Zestaw 3. - Uniwersytet Ekonomiczny w Katowicach
Transkrypt
Zestaw 3. - Uniwersytet Ekonomiczny w Katowicach
Uniwersytet Ekonomiczny w Katowicach Wydział Zarządzania, Kierunek Analityka Gospodarcza Zestaw 3. zadań z metod klasyfikacji1 Analiza dyskryminacyjna Do rozwiązania zadań w tym zestawie wykorzystaj zbiór danych znajdujący się na stronach internetowych: http://web2.ue.katowice.pl/trzesiok/j zb do zestawu3.sav http://web2.ue.katowice.pl/trzesiok/j zb do zestawu3.csv W zbiorze tym dostępne są informacje o 748 honorowych dawcach krwi. Każdy dawca charakteryzowany jest przez 4 zmienne objaśniające: X1 (przerwa) – liczba miesięcy od czasu ostatniego oddania krwi, X2 (częstotliwość) – liczba wszystkich donacji, X3 (wartość) – wartość pieniężna całej oddanej krwi, X4 (czas) – liczba miesięcy od pierwszej donacji, Y (klasa) – czy dawca oddał krew w określonym miesiącu („1” – tak, „0” – nie). Zadanie 1. Podziel zbiór danych na część uczącą i testową (w proporcji 2:1), a następnie na części uczącej zbuduj model w postaci drzewa dyskryminacyjnego z parametrami: minsplit=5, cp=0.01. • Wypisz, które zmienne objaśniające mają największą moc dyskryminacyjną, czyli w największym stopniu wpływają na postać modelu. • Zapisz rozkład elementów poprawnie i źle zaklasyfikowanych w zbiorze testowym oraz błąd klasyfikacji obliczony na zbiorze testowym. Do rozwiązania możesz wykorzystać fragment przygotowanego kodu w programie R. Zadanie 2. Posługując się funkcją tune.rpart przeszukaj następujące zakresy parametrów: minsplit=2:10, cp=c(0.005, 0.01, 0.02), by wyznaczyć najlepszy możliwy model w postaci drzewa dyskryminacyjnego na zbiorze uczącym (tym samym co w zadaniu 1). • Zapisz parametry otrzymanego najlepszego modelu (best.parameters) • Oblicz błąd klasyfikacji na zbiorze testowym dla uzyskanego najlepszego modelu (dla best.model) Do rozwiązania możesz wykorzystać fragment przygotowanego kodu w programie R. Zadanie 3. Na zbiorze uczącym zbudowano model w postaci drzewa dyskryminacyjnego, który przedstawiono na poniższym wykresie. Określ, na podstawie podanych wartości zmiennych objaśniających, czy „nowy” pacjent xnew = (5, 5, 3500, 24) odda krew w określonym miesiącu. 1 Zestaw dostępny na stronie: http://web2.ue.katowice.pl/trzesiok/j zestaw3 mk.pdf Zadanie 4. Zastosuj metodę k–najbliższych sąsiadów, zaimplementowaną w programie SPSS, z automatycznym doborem parametru k ∈ {2, . . . , 7}, bez selekcji zmiennych oraz z losowym podziałem zbioru danych na część uczącą (67%) i testową (33%). • Zapisz dla jakiej wartości parametru k otrzymano najmniejszy błąd klasyfikacji; • Zapisz wartość błędu klasyfikacji obliczonego na zbiorze testowym dla optymalnej wartości k. Zadanie 5. W metodzie k–najbliższych sąsiadów przyjmij k = 6 oraz losowy podział zbioru danych na część uczącą (67%) i testową (33%). Następnie dokonaj selekcji zmiennych i na tej podstawie określ, które z nich mają największą moc dyskryminacyjną. Ponadto określ, czy dokonana selekcja zmiennych miała wpływ na wartość błędu klasyfikacji (obliczonego również na zbiorze testowym). Zadanie 6. Wykorzystując funkcję tune.svm z funkcją jądrową Gaussa (kernel = "radial") i przeszukując następujące zakresy parametrów: gamma = c(0.5, 0.7, 1) oraz cost = 10∧ (-2:2), wyznacz najlepszy możliwy model wektorów nośnych SVM na całym zbiorze danych. • Zapisz parametry otrzymanego najlepszego modelu; • Zapisz błąd klasyfikacji obliczony metodą sprawdzania krzyżowego (cross validation) z podziałem zbioru na 5 części, dla najlepszego modelu; • Zapisz rozkład elementów poprawnie i źle zaklasyfikowanych w całym zbiorze danych przez najlepszy model. Do rozwiązania możesz wykorzystać fragment przygotowanego kodu w programie R. Zadanie 7. Podziel zbiór danych na cześć uczącą oraz testową w proporcji 3:1. Wykorzystując funkcje programu R zbuduj na części uczącej: • model SVM z parametrami: kernel="radial", gamma=0.5 i cost=10, • model sieci neuronowych z parametrami: size=18, decay=0.01 i maxit=100. Wykorzystując zbiór testowy określ, który z tych modeli ma lepsze zdolności predykcyjne (generuje mniejszy błąd klasyfikacji). Do rozwiązania możesz wykorzystać fragment przygotowanego kodu w programie R. Odpowiedzi Do zadania 1. • Zmienne objaśniające uszeregowane pod względem mocy dyskryminującej: czas (27), częstotliwość (26), wartość (26), przerwa (20) • Rozkład obserwacji dobrze i źle zaklasyfikowanych: Błąd klasyfikacji na zbiorze testowym: 20,48% Do zadania 2. rzeczywiste 0 1 teoretyczne 0 1 183 11 40 15 • Parametry najlepszego modelu to: minsplit=2, cp=0,02 • Błąd klasyfikacji na zbiorze testowym: 22,09% Do zadania 3. Nowy pacjent (xnew , dla którego przerwa = 5, częstotliwość = 5, wartość = 3500 oraz czas = 24) prawdopodobnie nie odda w określonym miesiącu krwi, ponieważ na podstawie zadanego drzewa został zaklasyfikowany do klasy „0”. Do zadania 4. Optymalne k = 6, zaś błąd klasyfikacji dla tej wartości k, obliczony na zbiorze testowym, to 24, 9%. Do zadania 5. Największą moc dyskryminacyjną mają: liczba wszystkich donacji (częstotliwość) oraz liczba miesięcy od pierwszej donacji (czas). W badaniu uwzględniono jeszcze jedną zmienną – liczbę miesięcy od czasu ostatniego oddania krwi (przerwa). Po usunięciu jednej zmiennej błąd klasyfikacji spadł do 22, 52%. Do zadania 6. • Parametry najlepszego modelu (best.parameters) to: gamma=0,5, cost=10 • Błąd klasyfikacji obliczony metodą sprawdzania krzyżowego (best.performance): 21% • Rozkład obserwacji dobrze i źle zaklasyfikowanych: rzeczywiste 0 1 teoretyczne 0 1 540 30 108 70 Do zadania 7. W tym przypadku lepszymi zdolnościami predykcyjnymi charakteryzuje się model SV M , ponieważ RSV M = 21, 93% < 22, 99% = RN N ET . c 2016 Joanna Trzęsiok, e-mail: [email protected] Copyright