knn dla opornych

kNN_Classifier

Skrót:

Do tej funkcji wrzucasz zbiór punktów (dwukolorowych) i zbiór nowych punktów niepokolorowanych. Funkcja klasyfikuje (ocenia) jakiego koloru powinny być te nowe punkty.

  1. Definiujemy funkcję o nazwie „kNN_Classifier”, która jako wynik zwraca zmienną ‘wynik’.

Funkcja ta pobiera 4 zmienne:

  1. k – jest to liczba określająca ilu sąsiadów funkcja ma brać pod uwagę podczas swojego działania

  2. test_data – współrzędne punktów, które ta funkcja ma zaklasyfikować

  3. train_data – współrzędne punktów na podstawie których ta funkcja będzie klasyfikować punkty ze zmiennej test_data

  4. train_labels – kolory poszczególnych punktów ze zmiennej train_data

Funkcja zwróci:

  1. test_labels – kolory poszczególnych punktów ze zmiennej test_Data

  1. Pętla „for” („od do”)

  1. „size(test_data,1)” znaczy „ilość wierszy w 1 kolumnie tablicy test_data” – czyli innymi słowy – ile nowych punktów trzeba pomalować.

  2. i = 1 – zaczynamy liczyć od jedynki (1)

  3. i=1 : size(test_data,1) – licz po kolei każdy nowy punkt który musisz pokolorować

  4. for i=1 : size(test_data,1) – dla każdego nowego punktu który musisz pokolorować (dla każdego punktu z tablicy (test_data) wykonaj ciąg instrukcji

  1. Obliczamy korzystając ze wzoru pitagorasa odległość od każdego punktu ze zbioru test_data po kolei do każdego punktu ze zbioru train_data. Czyli. Bierzemy pierwszy nowy niepokolorowany punkt i liczymy jak daleko ma do WSZYSTKICH pokolorowanych punktów.

Dla tego JEDNEGO wybranego niepokolorowanego punktu zapisujemy wszystkie odległości pomiędzy nim a już pokolorowanymi punktami do tablicy „Odleglosci”. Każdą z tych odległości potem oznaczamy odpowiednim kolory (pierwszym albo drugim – według tablicy train_labels).

Mamy więc zapisane… jak daleko nasz wybrany niepokolorowany punkt ma do pozostałych punktów i jakiego koloru są to punkty.

  1. Sortujemy tablice „Odleglosci” od najmniejszej do największej i wynik sortowania zapisujemy w tablicy „posortowane”.

  2. Czyścimy dwie zmienne:

  1. x – zmienna odpowiada ilości punktów drugiego koloru

  2. y – zmienna odpowiada ilości punktów pierwszego koloru

  1. Pętla for. Od 1 do ‘k’. Zmienną ‘k’ już tłumaczyliśmy – tutaj podajemy liczbę ile odległości ma brać pod uwagę oceniając kolor niepomalowanego punktu.

  2. Wybierając tyle najbliższy odległości ile ustaliliśmy zmienną ‘k’ – liczymy czy prowadzą one do punktów o kolorze pierwszym czy drugim.

  3. Jeżeli dany punkt jest bliżej punktów o pierwszym kolorze – to pomaluj go na ten kolor. Jeżeli dany punkt jest bliżej punktów o drugim kolorze to pomaluj go na niego.

  4. Zapisz wynik do zmiennej test_labels <- czyli do zmiennej wyrzucanej przez funkcje.

walidacja

Skrót:

Ta funkcja wywołuje kNN_Classifier 100 razy i wyrzuca ile razy kNN źle ocenił kolor punktu.

  1. Definiujemy funkcję o nazwie „walidacja” która zwraca ilość błędów wykonanych przez kNN_Classifier.

Dane jakie podajemy to:

  1. k – z jaką zmienną k ma być wywoływany kNN_Classifier

  2. data - tablica zawierająca współrzędne punktów

  3. labels – tablica mówiąca o tym jakiego koloru są punkty z tablicy data

  1. zmienna „blad” będzie zawierać ile błędów zrobi kNN przy 100 podejściach.

  2. Pętla for. Jej zawartość wywołujemy 100 razy.

  3. x – losujemy jeden punkt z pośród wszystkich punktów jakie podaliśmy w zmiennej „data”.

  1. do zmiennej „wybrany” zapisujemy współrzędne wybranego przez nas punktu

  2. posiłkujemy się tablicą pomocniczą i za jej pomocą tworzymy tablicę „dane”, która zawiera współrzędne wszystkich punktów ze zmiennej „data” oprócz tego jednego wylosowanego.

  1. Wrzucamy do kNNa nasze punkty (oprócz tego wybranego jednego) i podajemy mu ich kolory a potem pytamy się jej jakby pokolorowała ten jeden punkt który wybraliśmy. Jeżeli się pomyli to zmienną „blad” zwiększamy o 1.

  2. Wypisujemy wynik – czyli ilość błędów.


Wyszukiwarka

Podobne podstrony:
Logika dla opornych
fizyka dla opornych 2, Pwr MBM, Fizyka, sprawozdania vol I, sprawozdania część I
INSTRUKCJA dla opornych Części mowy odmienne
Testowanie dla opornych
INSTRUKCJA dla opornych geome katy, rownolegloboki, trojkaty,
gim INSTRUKCJA dla opornych - prostokąt i kwadrat obwód, gimnazjum i podstawówka, gimnazjum, polak,
Metody statystyczne dla opornych cz 1
gim INSTRUKCJA dla opornych okrąg
gim INSTRUKCJA dla opornych, okrąg
Alt klawiatura numeryczna Kurs dla opornych
logika dla opornych
Postmodernizm dla opornych, żródła
dos dla opornych
zelbet zginanie 2007 dla opornych id 587193
Fizjologia dla opornych

więcej podobnych podstron