Celem laboratorium jest przedstawienie podstawowych pojęć wykorzystywanych w zadaniach klasyfikacji, takich jak: zbiór uczący, zbiór testujący, czy walidacja krzyżowa. W trakcie laboratorium sprawdzamy, jak wykonać najbardziej podstawowe algorytmy klasyfikacji w środowiskach Weka i RapidMiner.
Generate
w górnym panelu. Z listy dostępnych generatorów wybierz operator Agrawal
, a następnie kliknij na nazwę operatora aby edytować jego własności. Zwiększ liczbę generowanych rekordów do 1000 i jako nazwę relacji podaj People. Naciśnij ponownie przycisk Genearte
aby wygenerować zbiór danych. Obejrzyj informacje wyświetlane dla pojedynczego atrybutu. Zauważ, że Weka automatycznie jako zmienną celu wskazuje ostatni atrybut na liście atrybutów.Choose
i znajdź operator Filters : Unsupervised : Attribute : Discretize
, a następnie kliknij na nazwę operatora żeby edytować jego własności. Po ustawieniu parametrów nie zapomnij kliknąć na przycisk Apply
. Zobacz, jak zmieniły się atrybuty Salary
i Commission
.Classify
. Kliknij przycisk Choose
i z listy dostępnych klasyfikatorów wybierz operator Classifiers : Rules : ZeroR
. Zaznacz opcję Use training set w sekcji Test options i kliknij przycisk Start
. Przeanalizuj uzyskane wyniki. Następnie zmień sposób generowania zbioru testowego na Percentage split i przyjmij, że uczenie odbędzie się na 20% oryginalnych danych. Porównaj wyniki klasyfikacji uzyskane teraz i w przypadku korzystania ze zbioru uczącego. Który wynik jest Twoim zdaniem bardziej wiarygodny?Choose
i zmień używany klasyfikator na operator One-R
. Tym razem skonstruujesz zbiór testowy za pomocą metody 10-krotnej walidacji krzyżowej. Zbuduj model i postaraj się samodzielnie stwierdzić, na jakiej podstawie ludzie są przypisywani do jednej z grup. Sprawdź, w jaki sposób liczba grup przy konstrukcji zbioru testowego wpływa na trafność klasyfikacji. Starannie przeanalizuj raport dostarczony przez narzędzie i obejrzyj wynikową macierz pomyłek. Czy ta macierz jest wystarczająca, aby uznać klasyfikator za bardzo dobry?
Decision Table
. W ustawieniach algorytmu włącz wyświetlanie znalezionych reguł decyzyjnych. Jaki atrybut jest wykorzystywany do zbudowania tablicy decyzyjnej? Wróć do zakładki Preprocessing
i usuń ten atrybut, a następnie powtórz budowanie modelu. Porównaj uzyskane wyniki. BestFirst
. Sprawdź, czy zamiana procedury przeszukiwania przestrzeni rozwiązań na przeszukiwanie pełne (ang. Exhaustive Search) poprawi uzyskany wynik.age
i car
a następnie uruchom algorytm klasyfikacji PART
. Obejrzyj uzyskane reguły decyzyjne. IB1
i IBk
. Postaraj się tak dobrać wartość parametru k aby uzyskać jak najwyższą dokładność klasyfikacji.Setup
kliknij przycisk New
i utwórz nową konfigurację eksperymentu. Datasets
umieść (za pomocą przycisku Add new…
) zbiory weather.arff, vote.arff oraz labor.arffAlgorithms
umieść algorytmy Zero-R
, One-R
, Decision Table
, PART
oraz IB1
i IBk
Results destination
wybierz jako format ARFF file
i podaj ścieżkę do pliku na lokalnym dysku (ten plik zostanie utworzony w wyniku uruchomienia eksperymentu). Liczbę powtórzeń eksperymentu ustaw na 10Run
i kliknij przycisk Start
Analyze
i wczytaj plik wynikowy. Upewnij się, że punktem odniesienia do oceny algorytmów jest proste głosowanie większościowe (Zero-R
). Metodą porównywania wyników eksperymentu powinien być sparowany test Studenta. Uruchom test klikając na przycisk Perform test
.
Generate Data
. Wskaż jako liczbę generowanych obiektów 1000, a jako funkcję zmiennej celu podaj two gaussians classification. Liczbę atrybutów ustaw na 2, ich zakres możesz zostawić z wartościami domyślnymi. Uruchom swój przepływ i obejrzyj wygenerowany zbiór danych. Zmień funkcję zmiennej celu na gaussian mixture clusters i jeszcze raz obejrzyj wynik.Split Validation
i ustaw proporcje 60%-40%. Zauważ, że jest to operator dominujący, który wymaga sprecyzowania operatorów wewnętrznych.Split Validation
. W sekcji Training
umieść operator Rule Induction
i prześlij na wejście operatora zbiór trenujący, zaś wyjście operatora oznaczone mod
(model) przekaż dalej.Testing
umieść sekwencję operatorów Apply Model
i Performance (Classification)
, przesyłając do operatora Apply Model
przepływy mod
i tes
(testing set). Etykietowane dane z operatora Apply Model
(port lab
(labeled data)) przekaż do operatora Performance (Classification)
. Port wyjściowy per
(performance vector) przekaż jako wynik działania całego operatora złożonego.
Split Validation
na X-Validation
ustawiając 10-krotną walidację krzyżową. Zamień zbiór danych na Iris
, a algorytm do klasyfikacji kolejno na Tree to Rules
(to także operator dominujący, do środka możesz wstawić Decision Tree
lub Random Tree
) i k-NN
. Za każdym razem sprawdź uzyskiwane wyniki.