Jakiego rodzaju normalizacji danych należy używać z KNN?

9

Wiem, że istnieją więcej niż dwa rodzaje normalizacji.

Na przykład,

1- Przekształcanie danych przy użyciu wyniku Z lub wyniku T. Zwykle nazywa się to standaryzacją.

2- Skalowanie danych, aby uzyskać wartości od 0 do 1.

Pytanie, czy potrzebuję normalizacji

Jakiego rodzaju normalizacji danych należy używać z KNN? i dlaczego?

jeza
źródło

Odpowiedzi:

11

W przypadku k-NN sugerowałbym normalizację danych między a 1 .01

k-NN wykorzystuje odległość euklidesową jako sposób porównania przykładów. Obliczyć odległość pomiędzy dwoma punktami , a x 2 = ( F 1 2 , C 2 2 , . . . , K M 2 ) , w którym f i 1 to wartość ix1=(f11,f12,...,f1M)x2=(f21,f22,...,f2M)f1ii-ta cecha :x1

d(x1,x2)=(f11f21)2+(f12f22)2+...+(f1Mf2M)2

Aby wszystkie cechy miały jednakowe znaczenie przy obliczaniu odległości, muszą mieć ten sam zakres wartości. Można to osiągnąć tylko poprzez normalizację.

Gdyby nie były znormalizowane i np. Cecha miała zakres wartości w [ 0 , 1 ), zaś f 2 miała zakres wartości w [ 1 , 10 ) . Przy obliczaniu odległości drugi składnik byłby 10 razy ważniejszy niż pierwszy, co spowodowałoby, że k-NN polegałby bardziej na drugiej funkcji niż na pierwszej. Normalizacja zapewnia, że wszystkie funkcje są odwzorowane na ten sam zakres wartości.f1[0,1f2[1,10)10

Z drugiej strony standaryzacja ma wiele przydatnych właściwości, ale nie może zagwarantować, że funkcje są mapowane do tego samego zakresu. Chociaż standaryzacja może być najlepiej dostosowana do innych klasyfikatorów, nie dotyczy to k-NN ani żadnego innego klasyfikatora opartego na odległości.

Djib2011
źródło
4
Czy twoja odpowiedź będzie taka sama, jeśli użyłem innej odległości zamiast odległości euklidesowej (na przykład odległość Manhattanu lub inna odległość nawet ułamkowa)? Także jeśli zakres zmiennych jest w przybliżeniu blisko siebie.
jeza
7
f1[0,1)f2[0,1.2)f220%f1. Jedną rzeczą, o której zapomniałem wspomnieć, było to, że standaryzacja jest oczywiście znacznie lepsza niż brak skalowania funkcji; jest po prostu gorszy niż normalizacja.
Djib2011,
O, rozumiem. „jest po prostu gorszy niż normalizacja” !?
jeza