Laboratorium 8 1. Zbiór danych zawierający dane z dwóch klas podzielić na podzbiór treningowy i testowy w proporcji 80%:20%*. Użyć WEKA do zbadania dokładności klasyfikacji (correctly classified instances) przy zastosowaniu klasyfikatora naiwnego Bayesa (BayesNaiveBayes), drzew decyzyjnych (Trees-J48), algorytmu k-najbliższych sąsiadów (Lazy – IBk) dla 3 różnych wartości parametru k=1, k=2, k=5. Porównać wyniki. Dla każdej z metod znaleźć macierz błędu klasyfikacji oraz wyniki powyższych klasyfikacji, porównać na wykresie ROC nanosząc punkty (FPR, TPR) dla każdego z klasyfikatorów. Przykładowe zbiory do wykorzystania: churn.arff, diabetes.arff, breast-cancer.arff 2. Ze strony http://archive.ics.uci.edu/ml/ pobrać dowolny zbiór danych dla zadania klasyfikacji – wybierając przycisk View ALL Data Sets otrzymuje się dane pogrupowane wg zadań. Zbiór powinien zawierać co najmniej 8 atrybutów i 300 wierszy danych. Dla wybranego zbioru użyć klasyfikatora IBk (k-najbliższych sąsiadów) i wykonać następujące eksperymenty: • Ustalić zbiór testowy (np. jako 10% pełnego zbioru), pozostałą część przyjąć jako zbiór treningowy. Wykonać 10 eksperymentów używając do kolejnych eksperymentów uczących odpowiednio 10% danych ze zbioru treningowego, 20%, 30% , …, 100%. Porównać dokładność w poszczególnych eksperymentach (correctly classified instances). • Ustal zbiór testowy (np. jako 10% pełnego zbioru), pozostałą część przyjmij jako zbiór treningowy. Zmień zbiór danych odrzucając niektóre, wybrane przez Ciebie atrybuty (jeden lub więcej). Czy po odrzuceniu atrybutów udało Ci się uzyskać większą dokładność? 3. Wyniki eksperymentów z zadania 1 i 2 opisać w raporcie i przesłać do prowadzącego w pliku nazwiskoLab8.pdf w terminie 7 dni od daty zajęć. * Jak dokonać podzialu zbioru dane.arff na zbiór treningowy i testowy? Sposób 1 (ręczny) 1. Na pełnym zbiorze danych użyć filtra randomize i zapamiętać jako daneRand.arff 2. Dla zbioru daneRand.arff użyć filtra RemovePercentage z opcjami invertSelection=false, percentage=20, zapamiętać jako daneTrain.arff. 3. Dla zbioru daneRand.arff użyć filtra RemovePercentage z opcjami invertSelection=true, percentage=20, zapamiętać jako daneTest.arff Sposób 2 (automatyczny) – Ustaw w okienku „Test options” , pole „Split” na 80%. Czy opcja ta dzieli zbiór zawsze tak samo? http://weka.8497.n7.nabble.com/Percentage-Split-td13691.html Zanim zaczniesz działać na danych warto jednorazowo zapuścić na nich filtr Randomize.