Grupowanie danych – klasyfikator k

Transkrypt

Grupowanie danych – klasyfikator k
Grupowanie danych – klasyfikator k-NN (k najbliższych
sąsiadów
Zadanie:
Wykonaj klasyfikację każdego obiektu z wejściowego zbioru danych. W tym celu wykorzystaj
klasyfikator kNN oraz metodę „minus jednego obiektu”.
Klasyfikator pozwala okreslić przynależność testowanego obiektu do jednej z klas, obecnych w
zbiorze uczącym danego klasyfikatora.
Zbiór uczący składa się z obiektów, z których każdy opisany jest przez wektor cech (punkt w
przestrzeni n wymiarowej) oraz etykietę (klasę), np.:
5.1,3.5,1.4,0.2,Iris-setosa
jest obiektem, określonym przez punkt w przestrzeni 4 wymiarowej oraz etykietę „Iris-setosa”.
Klasyfikacja realizowana jest w następujących krokach:
• Należy określić odległości między obiektem klasyfikowanym (punkt w przestrzeni n
wymiarowej) a każdym z obiektów ze zbioru uczącego.
• Należy wybrać k (stąd nazwa k-NN) najbliższych sąsiadów klasyfikowanego obiektu.
Wynikiem klasyfikacji jest etykieta dominująca wśród jego k sąsiadów. W przypadku, gdy
nie ma etykiety dominującej (np. dla k=5 mamy etykiety A,B,B,C,A) należy przyjąć brak
rozwiązania.
• W przypadku klasyfikacji obiektu o znanej etykiecie (patrz metoda minus jednego obiektu),
wynikiem jest zgodność wyznaczonej etykiety z pochodzącą ze zbioru wejściowego.
Metoda minus jednego obiektu:
Zbiór uczący powstaje poprzez wykonanie kopii zbioru wejściowego bez jednego, wybranego
obiektu – obiektu testowanego. Jako zbiór danych wejściowych wykorzystaj IRIS:
https://archive.ics.uci.edu/ml/datasets/Iris,
znajdujący
się
pod
adresem
https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data.
Uwaga! Pozostawienie obiektu testowego w zbiorze uczącym (zwykła kopia zbioru wejściowego)
jest błędem. Prowadzi to do sytuacji, gdzie testowany obiekt (ponieważ znajduje się w zbiorze
uczącym) zawsze będzie swoim najbliższym sąsiadem. Ma to istotny wpływ na uzyskiwane wyniki.
Zatem mając 5 obiektów w zbiorze wejściowym {1A,2B,3A,4B,5C}, należy wykonać 5
klasyfikacji:
Obiekt testowany Zbiór uczący
1
1A1
2B,3A,4B,5C
2B
1A,3A,4B,5C
3A
1A,2B,4B,5C
4B
1A,2B,3A,5C
5C
1A,2B,3A,4B
„1A” - 1 oznacza numer obiektu, A – etykietę.
Pozwala to sprawdzić, czy w drodze klasyfikacji obiektu 2 do jego zbioru uczącego uzyskamy
etykietę B (wynik pozytywny) czy inną (wynik negatywny).
Dla przykładu, jeśli zbiór wejściowy liczy 150 obiektów, to klasyfikacji podlega każdy z tych
obiektów (obiekt testowy). Natomiast zbiorem uczącym jest zbiór wejściowy minus ten obiekt
(zawsze 149 obiektów).
Opracowanie wyników:
Ocenę klasyfikacji należy przeprowadzić oddzielnie dla każdej z klas oraz każdej wartości k z
zakresu 1-13. W tym celu zastosuj macierz pomyłek (ang. confusion matrix). Zapoznaj się z jej
budową oraz znaczeniem wskaźników z nią związanych (m. in. precyzja i dokładność).
Dla każdej klasy i dla każdej liczby k przedstaw wartości uzyskanych wskaźników.
We wnioskach z zadania oceń jakość klasyfikacji zbioru Iris klasyfikatorem KNN własnymi
słowami. Opisz, jak rozumiesz wskaźniki oceny jakości klasyfikacji i, dla jednej z klas, zinterpretuj
ich wartości.
Materiały:
Algorytm kNN
http://www.mblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/ai/lab/matlab/algorytm_knn.pdf
How kNN algorithm works: https://www.youtube.com/watch?v=UqYde-LULfs
http://zsi.tech.us.edu.pl/~nowak/si/w4.pdf