Inteligentne aplikacje internetowe Obsługa graficznego interfejsu WEKA -Explorer |
WEKA -Explorer
|
PS. sepal [`sepəl] listek kielicha (kwiatu) petal [`petl] płatek (kwiatu)
|
Ćwiczenie 1
Generowanie drzewa decyzyjnego.
W programie WEKA explorer otwórz plik o nazwie iris.arff. (lokalizacja np. d:\Program Files\Weka-3-7\data\)
Odczytaj nazwę relacji, ilość przykładów, ilość atrybutów.
Przejrzyj statystyki atrybutów.
Z wykorzystaniem edytora tekstowego obejrzyj zawartość pliku iris.arff.
Wygeneruj drzewo decyzyjne (Classify-Choose-trees-J48)(C4.5 decision tree) dla standardowych wartości parametrów.
Dokonaj analizy struktury wygenerowanego drzewa. Odpowiedz na pytania:
1. Jaka jest struktura drzewa? Liczba węzłów?, Liczba liści?, Ile jest możliwych ścieżek „decyzyjnych” wychodzących z korzenia drzewa? Jak wygląda zestaw warunków z najdłuższej ścieżki?
2. Czy mechanizm redukcji/upraszczania drzewa (ang. pruning) dokonał jakichkolwiek modyfikacji struktury drzewa? Znajdź opcję we właściwościach klasyfikatora, która odpowiada za stopień przycinania drzewa.
3. Jakie są wyniki klasyfikowania obiektów za pomocą drzewa? Jak odczytać poziom błędów (ang.errors) z macierzy pomyłek (ang. confusion matrix)?
Ćwiczenie 2
Dokonaj dyskretyzacji atrybutów z użyciem weka.filters.unsupervised.attribute.Discretize (Panel Preprocess-Filter)
Sprawdź działanie przycisków Aplly i Undo
Zapisz plik pod inną nazwą np. iris_atr-disc.arff
Zbuduj drzewo J48
Porównaj wyniki z z wynikami z ćwiczenia 1
Wybierz opcję wizualizacji drzewa w celu obejrzenia drzewa (Visualize tree)
Ćwiczenie 3
Wybierz 5 algorytmów klasyfikujących i dokonaj klasyfikacji)np trees.J48, rules.PART, lazy.IBk (K-nearest neighbours classifier), bayes.NaiveBayes, functions.SMO
Przeanalizuj otrzymane dokładności
Do testowania klasyfikatora zastosuj cross validation CV-10
Zapisz opis rezultatów w pliku tekstowym (Save result buffer)
Zapisz najlepszy model w pliku (Save model)
Ćwiczenie 4
Do testowania klasyfikatora zastosuj procentowy podział danych
Do testowania klasyfikatora zastosuj utworzony zbór treningowy i zbiór testowy (Utwórz plik np. w notatniku train.arff i test.arff) Opcja Supplied test set. Na zakładce Preprocess trzeba załadować plik treningowy a przez opcję „Supplied test set” (zakładka Classify, Test options) wskazać plik testowy.
Ćwiczenie 5
Przygotuj plik ARFF z przykładami niesklasyfikowanymi. (np. nowe.arff)
Dokonaj klasyfikacji nowych przykładów (wywołując klasyfikator (i model) z konsoli cmd.exe)
Przykład:
Z konsoli cmd.exe
D:\Program Files\Weka-3-7\data>java weka.classifiers.trees.J48 -p 5 -l test.model -T nowe.arff
=== Predictions on test data ===
inst# actual predicted error prediction () 1 1:? 1:Iris-set 1 2 1:? 1:Iris-set 1 3 1:? 2:Iris-ver + 0.979 4 1:? 3:Iris-vir + 0.978 |
Nazwa klasyfikatora (np. weka.classifiers.trees.J48) musi być zgodna z utworzonym modelem (czyli taka sama jak użyty algorytm do tworzenia modelu, w tym przypadku model musi być utworzony z użyciem J48)
Jeśli klasa nie może być znaleziona należy ustawić CLASSPATH np:
>set classpath=d:\Program Files\Weka-3-7\weka.jar
Ćwiczenie to można wykonać również przy pomocy modułu CLI programu Weka (nie trzeba w tym przypadku ustawiać CLASSPATH)
Przykład pliku nowe.arff
@RELATION
iris |
Wydział Informatyki, Politechnika Białostocka |