Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen K-NN Mit Mehreren Merkmalen | K-NN-Klassifikator
Klassifikation mit Python

bookK-NN Mit Mehreren Merkmalen

Sie verstehen nun, wie k-NN mit einem einzelnen Merkmal funktioniert. Gehen wir nun zu einem etwas komplexeren Beispiel über, das zwei Merkmale verwendet: Gewicht und Breite.

In diesem Fall müssen wir Nachbarn basierend auf sowohl Breite als auch Gewicht finden. Dabei gibt es jedoch ein kleines Problem. Lassen Sie uns die Süßigkeiten darstellen und sehen, was schief läuft:

Sie sehen, dass das Gewicht von 12 bis 64 reicht, während die Breite nur zwischen 5 und 12 liegt. Da der Wertebereich der Breite viel kleiner ist, erscheinen die Süßigkeiten fast vertikal ausgerichtet. Wenn wir nun die Abstände berechnen, spiegeln sie hauptsächlich Unterschiede im Gewicht wider, als ob die Breite nie berücksichtigt wurde.

Es gibt jedoch eine Lösung – Skalierung der Daten.

Nun sind sowohl Gewicht als auch Breite auf derselben Skala und um null zentriert. Dies kann mit der Klasse StandardScaler aus sklearn erreicht werden. StandardScaler subtrahiert einfach den Mittelwert der Stichprobe und teilt das Ergebnis anschließend durch die Standardabweichung der Stichprobe:

Xscaled=XxˉsX_{scaled} = \frac{X - \bar x}{s}

StandardScaler zentriert die Daten um Null. Obwohl das Zentrieren für k-NN nicht zwingend erforderlich ist und zu Verwirrung führen kann, etwa "wie kann Gewicht negativ sein", handelt es sich lediglich um eine Art, Daten für den Computer darzustellen. Einige Modelle erfordern eine Zentrierung, daher ist es ratsam, StandardScaler standardmäßig für das Skalieren zu verwenden.

Tatsächlich sollten die Daten immer vor der Verwendung von k-Nearest Neighbors skaliert werden. Mit skalierten Daten können wir nun die Nachbarn bestimmen:

Im Fall von zwei Merkmalen definiert k-NN eine kreisförmige Nachbarschaft, die die gewünschte Anzahl an Nachbarn enthält. Bei drei Merkmalen wird daraus eine Kugel. In höheren Dimensionen nimmt die Nachbarschaft eine komplexere, nicht visualisierbare Form an, jedoch bleiben die zugrunde liegenden Berechnungen unverändert.

question mark

Wählen Sie die korrekte Aussage aus.

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 3

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Awesome!

Completion rate improved to 4.17

bookK-NN Mit Mehreren Merkmalen

Swipe um das Menü anzuzeigen

Sie verstehen nun, wie k-NN mit einem einzelnen Merkmal funktioniert. Gehen wir nun zu einem etwas komplexeren Beispiel über, das zwei Merkmale verwendet: Gewicht und Breite.

In diesem Fall müssen wir Nachbarn basierend auf sowohl Breite als auch Gewicht finden. Dabei gibt es jedoch ein kleines Problem. Lassen Sie uns die Süßigkeiten darstellen und sehen, was schief läuft:

Sie sehen, dass das Gewicht von 12 bis 64 reicht, während die Breite nur zwischen 5 und 12 liegt. Da der Wertebereich der Breite viel kleiner ist, erscheinen die Süßigkeiten fast vertikal ausgerichtet. Wenn wir nun die Abstände berechnen, spiegeln sie hauptsächlich Unterschiede im Gewicht wider, als ob die Breite nie berücksichtigt wurde.

Es gibt jedoch eine Lösung – Skalierung der Daten.

Nun sind sowohl Gewicht als auch Breite auf derselben Skala und um null zentriert. Dies kann mit der Klasse StandardScaler aus sklearn erreicht werden. StandardScaler subtrahiert einfach den Mittelwert der Stichprobe und teilt das Ergebnis anschließend durch die Standardabweichung der Stichprobe:

Xscaled=XxˉsX_{scaled} = \frac{X - \bar x}{s}

StandardScaler zentriert die Daten um Null. Obwohl das Zentrieren für k-NN nicht zwingend erforderlich ist und zu Verwirrung führen kann, etwa "wie kann Gewicht negativ sein", handelt es sich lediglich um eine Art, Daten für den Computer darzustellen. Einige Modelle erfordern eine Zentrierung, daher ist es ratsam, StandardScaler standardmäßig für das Skalieren zu verwenden.

Tatsächlich sollten die Daten immer vor der Verwendung von k-Nearest Neighbors skaliert werden. Mit skalierten Daten können wir nun die Nachbarn bestimmen:

Im Fall von zwei Merkmalen definiert k-NN eine kreisförmige Nachbarschaft, die die gewünschte Anzahl an Nachbarn enthält. Bei drei Merkmalen wird daraus eine Kugel. In höheren Dimensionen nimmt die Nachbarschaft eine komplexere, nicht visualisierbare Form an, jedoch bleiben die zugrunde liegenden Berechnungen unverändert.

question mark

Wählen Sie die korrekte Aussage aus.

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 3
some-alt