Laboratorium 10 -- Drzewa decyzyjne

Instrukcje do laboratorium

  1. Notebook do pobrania: decisiontrees.ipynb
  2. W celu załadowania, wybierz 'File→Upload Notebook' w Google Colab. W przypadku lokalnej wersji, po prostu nawiguj w oknie przeglądarki do miejsca gdzie zapisany jest notebook.

Materiały

Wprowadzenie do Weki

Weka, to narzędzie opensource do data miningu. Uruchom je wykonując w konsoli polecenie. Jeśli program nie jest zainstalowany, ściagnij go ze strony

$ weka 

Jeśli program nie jest zainstalowany, ściągnij go ze strony: Weka i uruchom:

$ java -jar weka.jar

Wczytywanie i analiza danych

  1. Pobierz paczkę plików z danymi: data.tar.gz
  2. Otwórz w Gedicie plik o nazwie swimming.arff i poznaj strukturę plików uczących dla weki z danymi symbolicznymi.
  3. Uruchom Wekę i kliknij w przycisk Explorer
  4. Przeanalizuj pierwszą zakładkę GUI i odpowiedz na pytania poniżej:

Pytania

  1. Jaki jest rozmiar zbioru uczącego?
  2. Ile atrybutów występuje w zbiorze uczącym?
  3. Ile jest instancji jest pozytywnych (Enjoy=yes) a ile negatywnych?
  4. Który z atrybutów najlepiej rozdziela dane? ;)
  5. Ile elementów ze zbioru danych ma atrybut wilgotność (humidity) ustawioną jako high?

Drzewa decyzyjne

  1. Wczytaj plik swimming.arff ze zbioru danych
  2. Kliknij w zakładkę Clasify
  3. Wybierz za pomocą przycisku Choose klasyfikator Id3.
  4. Upewnij się, że w oknie Test options zaznaczona jest opcja Use training set. Uwaga! W przyszłości nie będziemy korzystać z tej formy testowania - tutaj jesteśmy zmuszeni, z uwagi na niewielki zbiór uczący.
  5. Kliknij w przycisk Start. Przyjrzyj się rezultatowi. Co oznaczają wyniki?
  6. Wybierz za pomocą przycisku Choose klasyfikator J48 i kliknij Start, następnie zwizualizuj drzewo tak jak to pokazano poniżej:
  7. Czy drzewo wygląda tak jak je narysowałeś(aś) na początku laboratorium?

Poprawność klasyfikacji

  1. Załaduj plik credit-g.arff do Weki. Zawiera on dane uczące dla systemu, który na podstawie atrybutów zawartych w pliku powinien określać czy dany zestaw wartości atrybutów wskazuje na wiarygodnego klienta banku, czy też nie - czy można przyznać mu kredyt, czy jest to ryzykowne.
  2. Przejdź do zakładki Classify i wybierz algorytm J48.
  3. W obszarze Test options wybierz opcje Percentage split z wartością 66% Oznacza to, ze 66% danych posłuży do uczenia, a 34% do walidacji. Jakie to ma znaczenie?
  4. Uruchom algorytm. Ile procent przypadków zostało poprawnie zaklasyfikowanych? Czy to dobry wynik?
  5. Zmień klasyfikator na ZeroR z gałęzi rules. Jakie są wyniki?
  6. Wypróbuj inne klasyfikatory. Jakie dają wyniki?
  7. Przejdź do zakładki Preprocess i zobacz jak wygląda rozkład atrybutu określającego czy danych zestaw jest dobry czy zły. Jaka byłaby skuteczność algorytmu który niezależnie od wartości atrybutów „strzelałby” że użytkownik jest wiarygodny?
  8. Dlaczego przed przystąpieniem do klasyfikacji, warto wcześniej przyjrzeć się danym? ;P

User Classifier

  1. Zbuduj drzewo z wykorzystaniem klasyfikatora „User Classifier” dla danych z pliku (użyj PPM do „domknięcia” wielokąta):
  2. Zaakceptuj zbudowane drzewo i zobacz wyniki:

Materiały

pl/dydaktyka/ml/2018lab8.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0