Czy ktoś mógłby mi wyjaśnić, dlaczego należy znormalizować dane, używając K najbliższych sąsiadów.
Próbowałem to sprawdzić, ale nadal nie mogę tego zrozumieć.
Znalazłem następujący link:
https://discuss.analyticsvidhya.com/t/why-it-is-necessary-to-normalize-in-knn/2715
Ale w tym wyjaśnieniu nie rozumiem, dlaczego większy zakres jednej z funkcji wpływa na prognozy.
k-nearest-neighbour
bugsyb
źródło
źródło
Odpowiedzi:
Algorytm k-najbliższego sąsiada polega na głosowaniu większościowym na podstawie przynależności do klasy najbliższych próbek „k” dla danego punktu testowego. Bliskość próbek zazwyczaj opiera się na odległości euklidesowej.
Rozważ prosty problem z klasyfikacją dwóch klas, w którym wybierana jest próbka klasy 1 (czarna) wraz z jej 10 najbliższymi sąsiadami (wypełniona na zielono). Na pierwszym rysunku dane nie są znormalizowane, podczas gdy na drugim są.
Normalizacja rozwiązuje ten problem!
źródło
Załóżmy, że posiadasz zestaw danych (m „przykłady” przez n „elementów”), a wszystkie wymiary elementu oprócz jednego miały wartości ściśle od 0 do 1, podczas gdy jeden wymiar elementu miał wartości z zakresu od -1000000 do 1000000. Przy przyjmowaniu odległości euklidesowej pomiędzy parami „przykładów” wartości wymiarów cechy, które mieszczą się w zakresie od 0 do 1, mogą stać się nieinformacyjne, a algorytm zasadniczo opierałby się na pojedynczym wymiarze, którego wartości są znacznie większe. Wystarczy wykonać kilka przykładowych obliczeń euklidesowych odległości i można zrozumieć, w jaki sposób skala wpływa na obliczenia najbliższego sąsiada.
źródło