Wie werden sowohl binäre als auch kontinuierliche Features im k-Nearest-Neighbor-Algorithmus verwendet?

8

Mein Feature-Vektor hat sowohl kontinuierliche (oder weit reichende) als auch binäre Komponenten. Wenn ich einfach die euklidische Distanz verwende, haben die kontinuierlichen Komponenten eine viel größere Auswirkung:

Symmetrisch gegenüber asymmetrisch wie 0 und 1 und etwas weniger wichtig im Bereich von 0 bis 100 darstellend, hat der Wechsel von symmetrisch zu asymmetrisch einen kleinen Abstand, verglichen mit der Veränderung des Verhältnisses um 25.

Ich kann der Symmetrie mehr Gewicht verleihen (indem ich zum Beispiel 0 oder 100 mache), aber gibt es dafür einen besseren Weg?

    
John Hall 30.11.2010, 14:38
quelle

3 Antworten

9

Sie könnten versuchen, den normalisierten euklidischen Abstand zu verwenden, der zum Beispiel am Ende des ersten Abschnitts hier beschrieben wird.

Es skaliert einfach jedes Merkmal (kontinuierlich oder diskret) anhand seiner Standardabweichung. Dies ist robuster als beispielsweise die Skalierung um den Bereich ( max-min ), wie von einem anderen Poster vorgeschlagen.

    
NPE 30.11.2010, 16:22
quelle
1

Wenn ich Ihre Frage richtig verstanden habe, ist die Normalisierung (auch als "Neuskalierung") für jede Dimension oder Spalte im Datensatz die herkömmliche Technik zum Umgang mit übergewichtigen Dimensionen, z. B.

%Vor%

In R zum Beispiel können Sie diese Funktion schreiben:

%Vor%

was so funktioniert:

%Vor%     
doug 30.11.2010 19:14
quelle
1

Sie können auch Mahalanobis-Entfernung anstelle von Euklidisch versuchen.

    
Dima 02.12.2010 21:29
quelle

Tags und Links