• Nie Znaleziono Wyników

Wprowadzenie do systemu WEKA

N/A
N/A
Protected

Academic year: 2021

Share "Wprowadzenie do systemu WEKA"

Copied!
8
0
0

Pełen tekst

(1)

KATEDRA SYSTEMÓW MULTIMEDIALNYCH

Inteligentne Systemy Decyzyjne

Ć

wiczenie nr 4:

Wprowadzenie do systemu WEKA

Opracowanie: mgr inŜ. Adam Kupryjanow

1. Wprowadzenie

Podczas projektowania algorytmów opartych na klasyfikatorach wyŜszego rządu (np. sztuczne sieci neuronowe), często konieczne jest wykonanie szybkich testów pozwalających na określenie, który z klasyfikatorów daje najlepsze rezultaty w przypadku danego zadania klasyfikacji. WaŜna jest takŜe moŜliwość szybkiego sprawdzenia, które parametry opisujące dany problem pozwalają na skuteczną klasyfikację danych wejściowych. Narzędziem umoŜliwiającym wykonanie tego typu badań jest system Weka. Warto wspomnieć, Ŝe nie został on stworzony specjalnie do tego celu. Jego głównym zadaniem jest wspieranie procesów eksploracji danych (ang. data mining). Cały system został napisany w języku Java, a klasy z których korzysta, są dostępne i moŜna wykorzystywać je we własnych projektach.

2. Cel i przebieg ćwiczenia

Celem ćwiczenia jest zapoznanie studenta z obsługą systemu Weka. Podczas zajęć system ten wykorzystywany będzie w celu projektowania klasyfikatorów opartych na: sztucznych sieciach neuronowych, maszynach wektorów wspierających (SVM), drzewach decyzyjnych (J48), sieciach Bayesa oraz algorytmie k najbliŜszych sąsiadów (kNN).

(2)

3. Format plików wejściowych

System Weka umoŜliwia wczytywanie danych do klasyfikacji zapisanych w następujących formatach: ARFF (ang. Attribute-Relation File Format), C4.5, CSV, libsvm, binary seralized instalnces, XRFF. Podczas zajęć zostaną wykorzystane dwa najpopularniejsze formaty ARFF i CSV. Oba formaty plików mogą zostać stworzone za pomocą dowolnego edytora tekstu, a pliki w formacie CSV moŜna tworzyć równieŜ z wykorzystaniem arkusza kalkulacyjnego (np. Excel).

3.1 Struktura pliku CSV

KaŜdy plik w tym formacie zbudowany jest z dwóch głównych części: nagłówka i danych. W części nagłówkowej podawane są nazwy parametrów oraz nazwa klasy do której przypisane są parametry. Przykładowo jeŜeli parametrami wykorzystywanymi do klasyfikacji studentów będą

średnia ocen, wiek, zachowanie, obecność. To plik nagłówkowy będzie wyglądał następująco:

sredniaOcen, wiek, zachowanie, obecnosc, ocenaStudenta

gdzie ocenaStudenta jest klasą do której przypisany jest kaŜdy student i moŜe ona przyjmować wartości: dobry, średni, słaby. Zaś część pliku odpowiedzialna za przypisanie parametrów do danego studenta moŜe wyglądać tak:

3.5, 22, dobre, 90, sredni …

gdzie 3.5 oznacza średnią ocen studenta, 22 to jego wiek, student zachowuje się dobrze i jest obecny na 90% zajęć. Opisywany student został zakwalifikowany jako średni.

3.2 Struktura pliku ARFF

Format ten został opisany szczegółowo w instrukcji obsługi aplikacji WEKA [1]. Pliki w tym formacie tworzone są z wykorzystaniem znaczników opisujących znaczenie poszczególnych bloków. Znacznik poprzedzany jest znakiem @. Bloki powinny pojawiać się w pliku w odpowiedniej kolejności. KaŜdy plik ARFF rozpoczyna się od sekcji związanej z opisem danych w nim zawartych:

% 1. Title: Baza Oceny Studentów %

% 2. Sources:

% (a) Creator: A. Kupryjanow % (b) Date: March, 2010 %

(3)

w znaczniku @ATTRIBUTE podawana jest nazwa atrybutu (parametru) oraz jego typ lub wartości przyjmowane przez dany atrybut. Weka operuje na atrybutach typu: NUMERIC, INTEGER, REAL, STRING. Sekcja nagłówkowa pliku ARFF dla danych z punktu 3.1 wyglądałaby następująco:

@RELATION student

@ATTRIBUTE sredniaOcen REAL @ATTRIBUTE wiek INTEGER @ATTRIBUTE zachowanie STRING @ATTRIBUTE obecnosc INTEGER

@ATTRIBUTE class {dobry, sredni, slaby}

W ostatniej sekcji pliku umieszcza się wartości parametrów. Do wprowadzania parametrów wykorzystuje się znacznik @DATA. PoniŜej umieszczono fragment bloku z wartościami parametrów:

@DATA

3.5, 22, dobre, 90, sredni 4.5, 22, dobre, 90, dobry …

4. Weka GUI Chooser

System Weka pozwala na pracę z wykorzystaniem czterech niezaleŜnych aplikacji: Explorer,

Exeprimenter, KnowledgeFlow i SimpleCLI. Pierwsze trzy aplikacje pozwalając na wczytywanie

danych, ich obróbkę i tworzenie klasyfikatorów z wykorzystaniem interfejsu uŜytkownika. Ostatnia aplikacja umoŜliwia korzystanie z klas Weki za pośrednictwem linii poleceń. Na rysunku 1 przedstawiono okno aplikacji Weka GUI Chooser. Podczas zajęć wykorzystywana będzie jedynie aplikacji Explorer. Korzystanie z pozostałych aplikacji jest analogiczne jak w przypadku Explorer’a i nie zostanie omówione w tej instrukcji. Więcej informacji na temat obsługi pozostałych aplikacji moŜna znaleźć w instrukcji obsługi aplikacji [1].

(4)

5. Preprocessing danych wejściowych

Po uruchomieniu aplikacji Explorer zostanie ona otwarta na zakładce Preprocess, a pozostałe zakładki aplikacji będą nieaktywne. Pierwszą czynnością jaką naleŜy wykonać jest wczytanie danych do klasyfikacji (Open file...). Po wczytaniu danych, opcje aplikacji staną się aktywne, a na liście atrybutów pojawią się wczytane parametry. Wybierając z listy nazwę atrybutu moŜna obejrzeć jego statystykę (minimalna wartość, maksymalna wartość, wartość średnia, odchylenie standardowe), oraz zobaczyć na wykresie rozkład tych wartości. Po wybraniu przycisku Visualize All zostaną wykreślone wszystkie wartości parametrów. Na rysunku 2 przedstawiono okno aplikacji Explorer.

Zakładka Preprocess pozwala takŜe na wykonanie przetwarzanie danych wejściowych z wykorzystaniem tak zwanych „filtrów”. Filtry pozwalają m.in. na normalizację, dyskretyzację danych. Filery moŜna dodawać poprzez wybór przycisku Choose. Wybrany filtr zostanie zastosowany dla wczytanych danych po wybraniu przycisku Apply. W celu ustawienie opcji filtru naleŜy kliknąć na jego nazwę, wtedy zostanie uruchomione okno opcji danego filtru. W polu atrybutów moŜliwe jest takŜe usuwanie wybranej grupy parametrów poprzez zaznaczenie parametru oraz wybór przycisku Remove.

(5)

6. Wizualizacja parametrów

Relacje pomiędzy poszczególny parametrami moŜna analizować po przejściu do zakładki

Visualize. Po kliknięciu na miniaturkę wykresu moŜna zaobserwować relację pomiędzy wartościami

dwóch wybranych parametrów dla instancji naleŜących do róŜnych klas.

7. Klasyfikacja danych

Trenowanie klasyfikatorów moŜna wykonać korzystając z zakładki Classify. Rodzaj klasyfikatora wybiera się korzystając z przycisku Choose. Podczas zajęć laboratoryjnych przebadane zostaną następujące klasyfikatory: BayesNet (sieć Bayesa), MultilayerPerceptron (sztuczna sieć neuronowa),

SMO (maszyna wektorów wspierających), J48 (drzewo decyzyjne), NNge (algorytm najbliŜszego

sąsiada). Parametry klasyfikatora moŜna ustawić po kliknięciu w nazwę wybranego klasyfikatora. Na rysunku 3 przedstawiono okno aplikacji Explorer z otwartym oknem konfiguracji parametrów klasyfikatora SMO.

Rysunek 3 Okno aplikacji Explorer zakładka Classify

Przed rozpoczęciem treningu naleŜy wybrać sposób podziału danych wejściowych na zbiory testowe i treningowe. Sposób podziału ustawiany jest w panelu Test options. Dostępne są następujące opcje:

(6)

Use training set – klasyfikator trenowany jest z wykorzystaniem wszystkich wczytanych

danych, testowanie na tym samym zbiorze

Supplied test set - klasyfikator trenowany jest z wykorzystaniem wszystkich wczytanych

danych, a testowany na zbiorze wczytanym z innego pliku poprzez wybór przycisku Set….

Cross-validation – klasyfikator trenowany jest zgodnie z zasadą walidacji krzyŜowej. W tej

metodzie, zbiór danych 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 testowanie klasyfikatora. 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 [3]. Ilość podzbiorów K ustawiana jest jako wartość parametru Folds. Opcja ta treningu z wykorzystaniem walidacji krzyŜowej jest wybrana jako domyślna.

Percentage Split – dane treningowe i testowe dzielone są zgodnie z wartością procentową

wprowadzaną w text box. Na przykład wartość 66% oznacza, Ŝe 66% całego zbioru zostanie wykorzystane jako dane treningowe a 34% zostanie uŜyte jako dane testowe.

Trening i testowanie klasyfikatora rozpoczyna się po wybraniu przycisku Start. W oknie wyników wyświetlane zostaną informacje dotyczące stworzonego klasyfikatora oraz skuteczność jego działania. Skuteczność podawana jest jako procentowa skuteczność całkowita (Correctly Classified Instances) oraz w formie macierzy pomyłek (ang. Confusion Matrix).

(7)

Rysunek 4 Okno wyjściowe klasyfikatora

8. Wybór optymalnych parametrów

W procesie projektowania klasyfikatora moŜe okazać się, Ŝe dobrany przez projektanta zbiór parametrów jest redundantny. W tej sytuacji moŜliwe jest sprawdzenie, które parametry opisujące daną klasę są najistotniejsze. Badanie istotności parametrów wykonuje się w zakładce Select

attributes. Dobór parametrów wykonuje się analogicznie jak testowanie klasyfikatorów opisane w

punkcie 7.

9. Zadania do wykonania

1. Stworzyć plik z danymi (w formacie CSV lub ARFF). Wartości parametrów powinny opisywać dwie figury geometryczne (np. kwadrat i trójkąt) Parametrami opisującymi figurę powinny być współrzędne punktów na płaszczyźnie (x,y), a klasą do której naleŜą punkty powinny być klasy np. :kwadrat, trojkat, inne. W celu weryfikacji poprawności wprowadzonych danych moŜna po wczytaniu tworzonego pliku w zakładce

(8)

Visualize analizować relację pomiędzy wartościami x i y.

2. Wytrenować 5 klasyfikatorów: BayesNet (sieć Bayesa), MultilayerPerceptron (sztuczna sieć neuronowa), SMO (maszyna wektorów wspierających), J48 (drzewo decyzyjne),

NNge (algorytm najbliŜszego sąsiada). Podczas tworzenia klasyfikatorów naleŜy zmienić

domyśle parametry klasyfikatorów tak, aby uzyskać jak najwyŜszą skuteczność rozpoznawania. Uwaga! Dla klasyfikatora SMO naleŜy ustawić rodzaj jądra (ang. Kernel) jako RBFKernel.

3. Korzystając z plików dostarczonych razem z systemem Weka znajdujących się w katalogu …weka\data\, wytrenować 5 klasyfikatorów. Wykorzystać te same rodzaje klasyfikatorów co w zadaniu 2.

4. Korzystając z zakładki Select Attributes sprawdzić, które parametry są nadmiarowe i usunąć nadmiarowe parametry korzystając z zakładki Preprocess.

5. Wytrenować klasyfikatory na zbiorze parametrów zredukowanych zgodnie z wynikami uzyskanymi w punkcie 4.

10. Opracowanie

1. Zanotować globalną skuteczność rozpoznawania oraz macierz pomyłek dla wszystkich stworzonych klasyfikatorów w zadaniu 2.

2. Na podstawie uzyskanych wyników wybierać najlepszy klasyfikator. Odpowiedź uzasadnić.

3. Zanotować globalną skuteczność rozpoznawania oraz macierz pomyłek dla wszystkich stworzonych klasyfikatorów w zadaniu 3.

4. Opisać wyniki wyboru istotnych parametrów.

5. Zanotować globalną skuteczność rozpoznawania oraz macierz pomyłek dla wszystkich stworzonych klasyfikatorów w zadaniu 5.

6. Porównując wyniki uzyskane w zadaniach 3 i 5 opisać wpływ redukcji ilości parametrów na skuteczność rozpoznawania, oraz opisać skuteczność działania algorytmu wyboru istotnych parametrów.

Bibliografia

[1] R. R. Bouchkaert et.al., WEKA Manual for version 3-6-0, 18 December 2008 [2] WEKA home page: http://www.cs.waikato.ac.nz/ml/weka/

Cytaty

Powiązane dokumenty

– Aujourd’hui, vous pouvez visiter la tour Eiffel et les Champs-Élysées, déjeuner dans un restaurant près de l’Arc de Triomphe, puis visiter les Invalides par exemple.. –

La jolie fille de neige sourit encore et elle remue un bras, puis une jambe, puis l’autre .. Les deux vieux

Do probówki wlać około 0.5 cm 3 nasyconego roztworu siarczanu żelazawego, parę kropli badanego roztworu zawierającego jony NO 2 − , a następnie powoli po ściance

The external representation of an Instances class is an ARFF file, which consists of a header describing the attribute types and the data as comma-separated list.. Here is a

” go lego” serwera X Window jest niewystarczaj ace, poniewa˙z ֒ pomimo i˙z jest on programem u˙zytkownika, sam nie mo˙ze by´c przez niego sterowany.. Co najmniej pierwszy

L A TEX ułatwia autorowi tekstu zarządzanie numerowaniem sekcji, wy- punktowaniami oraz odwołaniami do tabel, rysunków i innych elementów. W łatwy sposób możemy się odwołać

 () argumenty funkcji, wyrazy tablic,

17 Liczba młodszych kobiet, których zgonom udało się zapobiec, jest mniejsza niż liczba kobiet starszych, częściowo z powodu rzadszego występowania raka piersi w wieku