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.