Ćwiczenie 7 : Drzewa decyzyjne (część I)

Celem laboratorium jest zapoznanie studentów z podstawowymi metodami indukcji drzew decyzyjnych. W trakcie laboratorium studenci wykonują ćwiczenia z użyciem Rapid Minera oraz budują klasyfikator bezpośrednio w bazie danych przy użyciu Orange Canvas.

literatura
  1. Induction of Decision Trees, R.Quinlan, Machine Learning 1: 81-106, 1986, Kluwer Academic Publishers, Boston
  2. Random Forests, Breiman, Leo. Machine learning 45.1 (2001): 5-32.
  3. Random Decision Forests, T.Kam Ho, vol. 1, pp.278, Third International Conference on Document Analysis and Recognition (ICDAR'95)
  4. Theoretical Comparison between the Gini Index and Information Gain Criteria , L.E.Raileanu, K.Stoffel, Annals of Mathematics and Artificial Intelligence, pp.77-99, vol.41(1), Springer Netherlands
  5. A survey of decision tree classifier methodology, S.R.Safavian, D.Landgrebe, IEEE Transactions on Systems, Man and Cybernetics, pp.660-674, vol.21(3), 1991
przykład

Wykorzystaj miary entropii i indeksu Giniego do oceny stopnia zrównoważenia poniższej ręki.

Rapid Miner
  • Uruchom narzędzie RapidMiner 5
  • Utwórz prosty przepływ polegający na wczytaniu zbioru danych Golf i uruchomieniu operatora Decision Stump. Obejrzyj uzyskany model. Sprawdź, w jaki sposób zmiana kryterium podziału zbioru wpływa na kształt modelu. Zamień operator Decision Stump na operator Decision Tree i ponownie zbuduj oraz przeanalizuj model. Następnie wyłącz pre- i post-processing i sprawdź, jaki wpływ miało to na kształt modelu
  • Dodaj do przepływu dyskretyzację atrybutów (operator Discretize, podział na 3 przedziały), oraz zmień operator Decision Tree na kolejno: CHAID, ID3, oraz Decision Tree (weight-based). W ostatnim przypadku jako operator wewnętrzny do ważenia atrybutów wykorzystaj operator Weight by Correlation.
  • Utwórz nowy przepływ zawierający operatory Read ARFF (wczytaj plik mushroom.arff), Set Role (wskaż atrybut class jako typu label), Replace Missing Values (pozostaw domyślne parametry), oraz uruchom proces walidacji krzyżowej wykorzystując operator X-Validate. Jako operatory wewnętrzne walidacji zastosuj najpierw Decision Tree, a potem Random Forest. Zaobserwuj zmiany w generowanych modelach, zwróć uwagę, jaki wpływ na model losowy ma zwiększenie puli dostępnych atrybutów.
Orange Canvas
  • Uruchom narzędzie Orange Canvas
  • Przejdź na zakładkę Data i użyj operatora File aby wczytać zawartość pliku adult.tab
  • Przejdź na zakładkę Visualize. Wykorzystaj operatory Distributions, Attribute Statistics, Scatterplot, Radviz i Mosaic Display w celu zapoznania się z możliwościami wizualizacji danych oferowanymi przez środowisko Orange Canvas
  • Wróć do zakładki Data i za pomocą operatora Data Sampler wykonaj próbkowanie metodą bootstrap (losowanie z powtórzeniami).
  • Z zakładki Classify wybierz operator Classification tree i prześlij do niego zbiór uczący.
  • Obejrzyj zbudowany model wykorzystując do tego celu operatory Classification Tree Viewer i Classification Tree Graph. Bez wątpienia model jest zbyt duży. Postaraj się tak dobrać parametry generowanego drzewa, aby model stał sie bardziej czytelny.
  • Umieść w panelu operator Test Learners i obejrzyj wyniki oceny drzewa decyzyjnego. Dodaj też operatory Confusion Matrix i ROC Analysis w celu przyjrzenia się dokładności modelu.
  • Jeśli chcesz, możesz umieścić równolegle z operatorem Classification Tree inne modele klasyfikacji, np. naiwny klasyfikator Bayesa lub losowe drzewo decyzyjne, a następnie zbadać wyniki ich działania.
  • Twój ostateczny przepływ powinien wyglądać następująco:

zadanie samodzielne
  • Pobierz zbiór danych flags.tab i zapoznaj się z jego opisem
  • Użyj operatora Select Attributes do wskazania, który atrybut jest zmienną celu.
  • Postaraj się zbudować jak najdokładniejszy klasyfikator który umożliwia przewidywanie dominującej religii w państwie na podstawie cech charakterystycznych flagi tego państwa.
 
sum-drzewa_decyzyjne_1.txt · Last modified: 2015/06/18 14:16 by Mikołaj Morzy
 
Except where otherwise noted, content on this wiki is licensed under the following license:Public Domain
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Debian Driven by DokuWiki