Für k-NN würde ich vorschlagen, die Daten zwischen und normalisieren .01
k-NN verwendet den euklidischen Abstand als Mittel zum Vergleichen von Beispielen. Berechnung des Abstandes zwischen zwei Punkten und , wobei ist der Wert des ten Merkmals von :x1=(f11,f21,...,fM1)x2=(f12,f22,...,fM2)fi1ix1
d(x1,x2)=(f11−f12)2+(f21−f22)2+...+(fM1−fM2)2−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−√
Damit alle Merkmale bei der Berechnung der Entfernung gleich wichtig sind, müssen die Merkmale den gleichen Wertebereich haben. Dies ist nur durch Normalisierung erreichbar.
Wenn sie nicht normalisiert waren und beispielsweise das Merkmal einen Wertebereich in ) hatte, während einen Wertebereich in . Wenn der Abstand berechnet wird , würde der zweite Term ist mal wichtig ist als die erste, führende k-NN mehr auf das zweite Merkmal als die erste zu verlassen. Durch die Normalisierung wird sichergestellt, dass alle Features demselben Wertebereich zugeordnet werden.f1[0,1f2[1,10)10
Die Standardisierung hat zwar viele nützliche Eigenschaften, kann jedoch nicht sicherstellen, dass die Funktionen demselben Bereich zugeordnet sind. Während die Standardisierung für andere Klassifizierer am besten geeignet ist, ist dies für k-NN oder einen anderen entfernungsbasierten Klassifizierer nicht der Fall.