Laboratorium 8 1. Zbiór danych zawierający dane z dwóch klas

advertisement
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.
Download