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