W trakcie laboratorium uczymy się wygrywać w telewizyjnych teleturniejach, zgadywać do jakiej gromady należą nietoperze, ale też poznajemy naiwny klasyfikator Bayesa i sprawdzamy, jak ten model klasyfikatora zachowuje się na wybranych zbiorach danych.
Przećwiczmy co to znaczy na przykładzie.
| nazwa | narodziny | ssie mleko? | liczba nóg | czy lata? | gromada |
|---|---|---|---|---|---|
| mysz | żywe | tak | 4 | nie | ssaki |
| lew | żywe | tak | 4 | nie | ssaki |
| wieloryb | żywe | tak | 2 | nie | ssaki |
| kiwi | jajo | nie | 2 | nie | ptaki |
| orzeł | jajo | nie | 2 | tak | ptaki |
| bocian | jajo | nie | 2 | tak | ptaki |
| nietoperz | żywe | tak | 2 | tak | ??? |
Read ARFF do załadowania zbioru danych, a następnie przekaż zbiór danych do operatora Set Role, w którym wskaż atrybut type jako pełniący rolę zmiennej celu (ang. label). Dodatkowo, atrybut animal wskaż jako atrybut pełniący rolę identyfikatora. Tak zmodyfikowany zbiór danych prześlij do operatora Naive Bayes i uruchom przepływ. X-Validation, w fazie uczenia tego operatora umieść właśnie operator naiwnego klasyfikatora Bayesa, a w fazie testowania następujące po sobie operatory Apply Model i Performance (Classification). Twój przepływ powinien wyglądać tak:
X-Validation drugi operator realizujący model klasyfikatora bazującego na indukcji reguł (operator Rule Induction). Wyłącz operator Naive Bayes Classifier (z menu kontekstowego operatora wybierz opcję Enable Operator) i w jego miejsce wstaw operator indukcji reguł. Porównaj dokładność naiwnego klasyfikatora Bayesa i dokładność uzyskaną przez algorytm indukcji reguł.
Data Table. Możesz także posłużyć się operatorem Statistics do zapoznania się z histogramami dla poszczególnych atrybutów.Data Sampler do podzielenia zbioru na dwie części: 70% danych trafi do zbioru uczącego (ang. train set), a 30% danych stanowić będzie zbiór testujący (ang. test set)Naive Bayes. Uzyskany model prześlij do operatora Nomogram w celu obejrzenia wyników.Predictions do wykonania predykcji na zbiorze testującym. Twój ostateczny przepływ powinien wyglądać tak:
Test Learners. Drugim parametrem wejściowym operatora jest konkretny algorytm uczący, prześlij więc na wejście operatora Test Learners algorytm naiwnego klasyfikatora Bayesa. W ustawieniach operatora Test Learners zaznacz, że operator ma dokonać podziału na zbiór uczący i testujący w proporcji 70%-30%.Confusion Matrix i obejrzyj wynikową macierz pomyłek.