K-Nächste-Nachbarn-Algorithmus in R [Ultimativer Leitfaden mit Beispielen]

Veröffentlicht: 2020-03-20

Der KNN-Algorithmus in R ist aufgrund seiner Vielseitigkeit und Funktionalität sehr beliebt. Sie müssen also ab und zu von seinem Namen gehört haben, wenn Sie sich mit maschinellem Lernen beschäftigen. Und Sie müssen sich gefragt haben: „Was ist KNN in R?“ oder "Wie funktioniert es?".

In diesem Artikel finden wir Antworten auf genau diese Fragen und helfen Ihnen, dieses Thema gründlich zu verstehen. Lassen Sie uns also ohne weiteres eintauchen.

Inhaltsverzeichnis

Was ist der KNN-Algorithmus?

KNN steht für K Nearest Neighbor. Es handelt sich um einen überwachten Algorithmus für maschinelles Lernen, der Datenpunkte gemäß den Merkmalen der angrenzenden Datenpunkte der Punkte in Zielklassen klassifiziert.

Angenommen, Sie möchten, dass Ihre Maschine die Bilder von Äpfeln und Orangen erkennt und zwischen ihnen unterscheidet. Dazu müssen Sie einen Datensatz mit Apfel- und Orangenbildern eingeben. Dann müssen Sie Ihr Datenmodell trainieren, indem Sie es jede Frucht anhand ihrer einzigartigen Merkmale erkennen lassen. Zum Beispiel könnte es Äpfel an ihrer roten Farbe und Orangen an ihrer Farbe erkennen.

Nachdem Sie Ihr Datenmodell trainiert haben, können Sie es testen, indem Sie ihm einen neuen Datensatz mit anderen Bildern von Äpfeln und Orangen geben. Jetzt trennt der KNN-Algorithmus Äpfel und Birnen, indem er sie nach den Merkmalen klassifiziert, die er im Trainingsmodell entdeckt hat.

Es würde die Merkmale eines Datenpunkts mit seinen benachbarten vergleichen, um zu sehen, wie ähnlich sie sind. Und es wird sie nach diesen Erkenntnissen klassifizieren.

In vielen Fällen werden Sie die Punkte in einem Diagramm darstellen. Und um den Abstand zwischen zwei Punkten zu berechnen, müssen Sie verschiedene Formeln verwenden. Die gebräuchlichste Methode zur Berechnung der Entfernung zwischen zwei Datenpunkten ist die euklidische Entfernung. Es berechnet die Entfernung unabhängig von den in den Punkten vorhandenen Eigenschaften oder Attributen.

Funktionen des KNN-Algorithmus

Im Folgenden sind die Funktionen des KNN-Algorithmus in R aufgeführt:

  • Es ist ein überwachter Lernalgorithmus. Dies bedeutet, dass es beschriftete Eingabedaten verwendet, um Vorhersagen über die Ausgabe der Daten zu treffen.
  • Es ist ein einfacher Algorithmus für maschinelles Lernen
  • Sie können den KNN-Algorithmus für mehrere Arten von Problemen verwenden
  • Es ist ein nichtparametrisches Modell. Das bedeutet, dass es keine Annahmen über die Daten macht, was es sehr nützlich macht, Probleme im Zusammenhang mit echten Daten zu lösen.
  • Es klassifiziert Daten, indem es Datenpunkte mit ihren Nachbarpunkten vergleicht. Mit einfachen Worten, die Funktionsweise des KNN-Algorithmus basiert auf der Ähnlichkeit von Attributen.
  • Es fällt in die Kategorie der faulen Algorithmen. Ein fauler Algorithmus merkt sich die Trainingsdaten, anstatt die Diskriminanzfunktion aus denselben zu lernen. Erfahren Sie mehr über die Arten von Algorithmen für maschinelles Lernen.
  • Sie können KNN verwenden, um sowohl Regressions- als auch Klassifizierungsprobleme zu lösen.

Der KNN-Algorithmus ist unvoreingenommen und aufgrund der oben besprochenen Merkmale die bevorzugte Wahl für viele Probleme. Allerdings hat alles seine Probleme, und KNN ist keine Ausnahme.

Dieser Algorithmus ist nicht nützlich, um Probleme zu lösen, die zu komplex sind. Sein Modell hat auch keinen Abstraktionsprozess. Für ein angemessenes Modell benötigen Sie qualitativ hochwertige Daten, da wertvolle Einblicke manchmal verloren gehen können, weil es sich um einen faulen Algorithmus handelt. Es ist schnell, aber Sie müssen viel Zeit in die Datenbereinigung investieren.

Wie funktioniert es?

Um zu verstehen, wie KNN in R funktioniert, sehen wir uns ein weiteres Beispiel an.

Angenommen, Ihr Datensatz hat zwei Klassen. Klasse 1 hat Rechtecke, während Klasse 2 Kreise hat. Mit diesem Algorithmus müssen Sie den neu eingegebenen Datenpunkt einer dieser beiden Klassen zuordnen. Dazu müssen Sie zunächst den Wert von „K“ für Ihren Algorithmus definieren. K bezeichnet die Anzahl der nächsten Nachbarpunkte, die der Algorithmus berücksichtigt.

Stellen Sie sich vor, Sie geben in diesem Beispiel K als 4 ein. Und für K = 4 sind die Nachbarn drei Kreise und ein Rechteck. In diesem Fall klassifizieren Sie den Datenpunkt in Klasse 2, da die Anzahl der Kreise, die den Punkt umgeben, höher ist als die Anzahl der Rechtecke.

Wenn die Nachbarn drei Rechtecke und ein Kreis wären, hätten Sie es in Klasse 1 klassifiziert. Wir haben bereits besprochen, wie der KNN-Algorithmus die Entfernung zwischen zwei Punkten berechnet, um zu bestimmen, wer der nächste Nachbar ist. Zu diesem Zweck verwendet es die euklidische Distanzformel .

Die Formel für den euklidischen Abstand lautet wie folgt:

d(p,q) = d(q,p) = ( q 1 p 1 ) 2 +( q 2 p 2 ) 2 … ( q n p n ) 2

Hier ist p = (p1, p2, p3, …. pn) und q = (q1, q2, q3, … qn). In dieser Gleichung bezeichnet 'd' den euklidischen Abstand zwischen den Punkten p und q.

Wie Sie sehen können, ist es ganz einfach. Und seine Einfachheit macht ihn sehr vielseitig, weshalb er einer der beliebtesten Algorithmen ist. Sie können es für eine Vielzahl von Problemen verwenden.

Beispiel für KNN in R

Sie fragen sich vielleicht, wo wir die Anwendungen der KNN-Algorithmen im wirklichen Leben sehen. Dafür muss man sich Amazon anschauen.

Der große Erfolg von Amazon hängt von vielen Faktoren ab, aber ein herausragender unter ihnen ist der Einsatz fortschrittlicher Technologien. Eine dieser Technologien ist maschinelles Lernen. Ihr Empfehlungssystem hat ihnen geholfen , Hunderte von Millionen Einnahmen zu generieren. Und dieses Empfehlungssystem verwendet zu diesem Zweck den KNN-Algorithmus.

Lesen Sie auch: Projektideen für maschinelles Lernen

Angenommen, Sie kaufen bei Amazon eine schwarze Wrangler-Jeans mit einer Lederjacke. Ein paar Wochen später kauft eine andere Person dieselbe Jeans bei Amazon, kauft aber nicht diese Lederjacke. Amazon wird dieser Person empfehlen, die Jacke zu kaufen, da sie ein ähnliches Kaufverhalten wie Sie gezeigt hat.

Das Empfehlungssystem von Amazon basiert also auf dem Kaufverhalten der Menschen. Und um diese Ähnlichkeit zu verstehen, können Sie den KNN-Algorithmus verwenden, da er auf diesem Prinzip basiert. Jetzt kennen Sie die Grundlagen dieses Algorithmus sowie seine Anwendung in der realen Welt. Es gibt viele andere Beispiele für seine Verwendung, aber bleiben wir vorerst bei diesem.

Lernen Sie Datenwissenschaftskurse von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.

Abschließende Gedanken

Der KNN-Algorithmus in R hat viele Verwendungsmöglichkeiten. Und nachdem Sie diesen Artikel gelesen haben, sind Sie sicher, dass Sie mit diesem Algorithmus vertraut sind. Wenn Sie mehr über solche Machine-Learning-Algorithmen erfahren möchten, sollten Sie sich unseren ausführlichen Machine-Learning-Kurs ansehen .

Sie werden viel über maschinelles Lernen und die verschiedenen darin verwendeten Algorithmen lernen, abgesehen von seinen anderen Aspekten.

Wofür wird die Programmiersprache R verwendet?

Die Programmiersprache R wurde für Berechnungen mit Statistik und Datenvisualisierung entwickelt. Heute wird R ausgiebig von Statistikern, Datenwissenschaftlern, Daten- und Geschäftsanalysten verwendet. Der Kern von R enthält viele Statistikfunktionen, sodass Bibliotheken von Drittanbietern für einen Großteil der Kerndatenanalyse, die R erreichen kann, nicht erforderlich sind. Im Gegensatz zu vielen anderen Computerprogrammiersprachen ist R keine Allzwecksprache. Es wird also im Wesentlichen verwendet, um bestimmte Funktionalitäten zu erreichen, die es außergewöhnlich gut macht. R wird jedoch von Unternehmen in allen Branchen ausgiebig genutzt, um nützliche Erkenntnisse aus riesigen Mengen täglicher Daten zu gewinnen, die von Benutzern generiert werden.

Welche Vorteile bietet die Programmierung mit R?

Die Programmiersprache R bietet sowohl Anfängern als auch erfahrenen Programmierern verschiedene Vorteile. Zu den Hauptvorteilen zählen die Funktionen und die einfache Erstellung statistischer Rechenmodelle. Als nächstes ist R eine Open-Source-Programmiersprache, die parallel verteiltes Rechnen unterstützt. Jeder kann es nutzen, ohne Lizenzen oder Nutzungsgebühren beschaffen zu müssen. Außerdem verfügt es über eine umfangreiche Bibliothek zur Unterstützung verschiedener Funktionalitäten, und sein plattformunabhängiges Framework trägt ebenfalls zur Bequemlichkeit bei. R kann auch für effektive Datenbereinigungs-, Web-Scraping- und Data-Wrangling-Funktionen verwendet werden und wird häufig zur Entwicklung von Modellen für maschinelles Lernen verwendet.

Warum wird KNN Lazy Learner Algorithmus genannt?

Der K-Nearest-Neighbors-Algorithmus ist einer der einfachsten Algorithmen, die beim maschinellen Lernen verwendet werden. Es wird jedoch oft als fauler Lerner bezeichnet. Der Grund dafür ist, dass, wenn Sie diesem Algorithmus alle trainingsbezogenen Daten zur Verfügung stellen, es nicht funktioniert, sich selbst zu trainieren. Anstatt Diskriminanzfunktionen zu lernen, hat es den gesamten Trainingsdatensatz auswendig gelernt. Mit jedem Hinzufügen eines neuen Datenpunkts sucht dieser Algorithmus nach seinen nächsten Nachbarn im gesamten Trainingssatz, was die Zeit, die zum Erstellen von Vorhersagen benötigt wird, unweigerlich verlängert. Dies macht es oft rechenintensiv und sehr zeitaufwändig.