W tym tygodniu poznajemy meta-metody uczenia maszynowego. Dowiadujemy się, czy bezpośrednia demokracja (Voting) jest lepsza niż demokracja sterowana (Stacking) i dowiadujemy się, jak zastosować klasyfikator binarny do klasyfikacji danych zawierających więcej niż dwie klasy. A przede wszystkim uczymy się oszczędzać sobie czas wykonując setki eksperymentów za jednym pociągnięciem myszki.
Set Role
, wskazując atrybut class jako zmienną celu. Następnie prześlij zbiór danych do operatora Split data
w celu podzielenia zbioru na dwie partycje w proporcji 70%-30%. Prześlij większą część zbioru uczącego do operatora Bagging
. Wykonaj 10 iteracji uczenia drzewa decyzyjnego, wykorzystując w każdej iteracji 90% danych jako zbiór uczący. Model wynikowy wyślij do operatora Apply Model
a jako zbiór testowy wykorzystaj owe 30% oryginalnych danych które nie było wykorzystywane do uczenia klasyfikatora. Wykorzystaj operator Performance
do znalezienia dokładności klasyfikatora końcowego. Sprawdź, jaki wpływ na dokładność klasyfikacji ma zmieniająca się liczba iteracji (tj. niezależnie budowanych modeli).Set Role
wskaż atrybut class jako zmienną decyzyjną. Prześlij zbiór danych do operatora Split Validation
pozostawiając domyślne parametry tego operatora. W fazie uczenia operatora Split Validation
umieść meta-operator AdaBoost
, a wewnątrz tego operatora umieść algorytm k-NN (użyj dowolnej liczby sąsiadów, ale zaznacz ważenie instancji). W fazie testowania operatora Split Validation
umieść tradycyjnie operatory Apply Model
oraz Performance
w celu określenia dokładności klasyfikacji. Porównaj uzyskany wynik z sytuacją w której zamiast operatora AdaBoost
wykorzystujesz bezpośrednio k-NN.Split Data
i podziel je w proporcji 70%-30%. Większy zbiór prześlij do operatora Vote
, wewnątrz którego umieść klasyfikatory CHAID
, Naive Bayes Classifier
oraz k-NN
. Model wynikowy wyślij do operatora Apply Model
a jako zbiór testowy wykorzystaj dane nieużyte do uczenia klasyfikatorów. Jaka jest dokładność takiego klasyfikatora? Czy jest on lepszy niż indywidualne klasyfikatory? Stacking
, umieszczając w fazie Stacking Model Learner operator Rule Induction
. Uruchom przepływ i obejrzyj modele bazowe. Czy operator Stacking
wygenerował lepszy model niż Voting
?Optimize Parameter (Grid)
, wcześniej wskazując atrybut class jako zmienną celu. Wewnątrz operatora umieść operator Split-Validation
zawierający w fazie uczenia operator Neural Net
, a w fazie testowania tradycyjną kombinację operatorów Apply Model
i Performance (Classification)
. Port wyjściowy ave operatora Validation
prześlij do operatora Log
i zapisz pod dowolną nazwą na dysku. W konfiguracji operatora Log
zaznacz zapisywanie dokładności (wartość z operatora Performance
), momentu (parametr z operatora Neural Net
) i tempa uczenia (parametr z operatora Neural Net
). Konfiguracja operatora Log
powinna wyglądać następująco:Optimize Parameter (Grid)
. Kliknij przycisk Edit Parameter Settings i z listy dostępnych operatorów wybierz operator Neural Net
, a następnie wybierz dwa parametry operatora: learning_rate
i momentum
. Przenieś oba parametry do panelu Selected Parameters. Zaznacz parametr learning_rate
i wskaż, że powinien się zmieniać od 0 do 1 w 4 krokach. Analogicznie, skonfiguruj parametr momentum
aby się zmieniał od 0 do 1 w 4 krokach (w obu przypadkach zwiększanie wartości parametru w każdym kroku powinno być liniowe). Okno konfiguracji operatora Optimize Parameter (Grid)
powinno wyglądać następująco:Neural Net
. Ustaw liczbę cykli uczenia sieci na 5. Wyłącz także normalizację i mieszanie danych wejściowych. Uruchom przepływ a następnie skorzystaj z wizualizacji Surface 3D w celu obejrzenia wyników.