Naiwny klasyfikator Bayesa

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.

dla zapominalskich

$$P(h|D) = \frac{P(D|h)P(h)}{P(D|h)P(h)+P(D|-h)P(-h)}$$

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 ???
Rapid Miner

Orange Data Mining

titanic.jpg

Python
zadanie samodzielne

Samodzielnie zbuduj i przetestuj naiwny klasyfikator Bayesa na zbiorze smsspamcollection.csv. Możesz do tego celu wykorzystać dowolne narzędzie (RapidMiner, Python, R, Orange Data Mining). Wyniki prześlij na adres Mikolaj.Morzy@put.poznan.pl do niedzieli, 10 maja, godz. 21:00. Jeżeli realizujesz zadanie w notatniku/kodzie Pythona, prześlij ten kod. Jeśli wykorzystujesz RapidMiner lub Orange Data Mining, prześlij plik `*.pdf` zawierający dwa zrzuty ekranu: zrzut pokazujący cały workflow, oraz zrzut pokazujący macierz pomyłek. Zadanie uznam za zrealizowane, jeśli ogólna dokładność klasyfikatora będzie większa niż 90%.