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