Welche Art der Datennormalisierung sollte mit KNN verwendet werden?

9

Ich weiß, dass es mehr als zwei Arten der Normalisierung gibt.

Zum Beispiel,

1- Transformieren von Daten mit einem Z-Score oder T-Score. Dies wird üblicherweise als Standardisierung bezeichnet.

2- Daten neu skalieren, um Werte zwischen 0 und 1 zu erhalten.

Die Frage jetzt, ob ich normalisieren muss

Welche Art der Datennormalisierung sollte mit KNN verwendet werden? und warum?

jeza
quelle

Antworten:

11

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,f12,...,f1M)x2=(f21,f22,...,f2M)f1iix1

d(x1,x2)=(f11f21)2+(f12f22)2+...+(f1Mf2M)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.

Djib2011
quelle
4
Ist Ihre Antwort dieselbe, wenn ich anstelle der euklidischen Entfernung eine andere Entfernung verwendet habe (zum Beispiel die Entfernung nach Manhattan oder eine andere Entfernung, auch nur eine gebrochene Entfernung)? Auch wenn der Bereich der Variablen ungefähr nahe beieinander liegt.
Jeza
7
Ja, ich habe nur die euklidische Entfernung als Beispiel gezeigt, aber alle Entfernungsmetriken leiden unter derselben Sache. Wenn die Bereiche nahe beieinander liegen, würde dies die Berechnung der Metrik nicht so stark beeinflussen , würde dies aber dennoch tun. Wenn zum Beispiel und , wäre immer noch wichtiger als . Eine Sache, die ich vergessen habe zu erwähnen, war, dass Standardisierung offensichtlich viel besser ist, als keine Feature-Skalierung durchzuführen. es ist einfach schlimmer als die Normalisierung. f1[0,1)f2[0,1.2)f220%f1
Djib2011
Ah ich sehe. "es ist einfach schlimmer als normalisierung"!?
Jeza