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.