Technologieaustausch

Erforschung des Geheimnisses der Nähe: Anwendung des K-Nearest Neighbor (KNN)-Algorithmus in SKlearn

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Erforschung des Geheimnisses der Nähe: Anwendung des K-Nearest Neighbor (KNN)-Algorithmus in SKlearn

In der Welt des maschinellen Lernens ist der K-Nearest Neighbors (KNN)-Algorithmus für seine Einfachheit und Intuitivität bekannt. KNN ist eine grundlegende Klassifizierungs- und Regressionsmethode, und ihr Funktionsprinzip ist sehr leicht zu verstehen: Vorhersagen, zu welcher Kategorie oder zu welchem ​​Wert ein neuer Datenpunkt gehört, indem der Abstand zwischen verschiedenen Merkmalswerten gemessen wird. Scikit-learn (kurz sklearn) stellt als weit verbreitete Bibliothek für maschinelles Lernen in Python die Implementierung des KNN-Algorithmus bereit. In diesem Artikel wird die Verwendung des KNN-Algorithmus in sklearn ausführlich vorgestellt und praktische Codebeispiele bereitgestellt.

1. Grundprinzipien des K-Nearest-Neighbor-Algorithmus

Die Kernidee des K-Nearest-Neighbor-Algorithmus lautet: Wenn die meisten K nächsten Nachbarn einer Stichprobe im Merkmalsraum zu einer bestimmten Kategorie gehören, gehört die Stichprobe wahrscheinlich auch zu dieser Kategorie.

2. Schlüsselelemente des K-Nearest-Neighbor-Algorithmus
  • Auswahl des K-Wertes: Die Wahl von K hat einen wichtigen Einfluss auf die Leistung des Modells.
  • Distanzmaß: Im KNN-Algorithmus können verschiedene Entfernungsmessmethoden verwendet werden, z. B. die euklidische Entfernung, die Manhattan-Entfernung usw.
  • Gewichtsfunktion: Nachbarn können unterschiedliche Gewichtungen zugewiesen werden, beispielsweise eine reziproke Gewichtung basierend auf der Entfernung.
3. Klassifizierung mit KNN in sklearn

Hier sind die grundlegenden Schritte für die KNN-Klassifizierung mit sklearn:

3.1 KNN-Klassifikator importieren
from sklearn.neighbors import KNeighborsClassifier
  • 1
3.2 Daten vorbereiten

Angenommen, Sie haben bereits einen Datensatz mitXist die charakteristische Matrix,yist die Zielvariable.

from sklearn.datasets import load_iris
X, y = load_iris(return_X_y=True)
  • 1
  • 2
3.3 Erstellen Sie eine KNN-Klassifikatorinstanz
knn = KNeighborsClassifier(n_neighbors=3)
  • 1
3.4 Trainingsmodell

Verwenden Sie den Datensatz, um das KNN-Modell zu trainieren.

knn.fit(X, y)
  • 1
3.5 Vorhersagen treffen

Verwenden Sie das trainierte Modell, um Vorhersagen zu treffen.

y_pred = knn.predict(X)
  • 1
4. Verwendung von KNN zur Regression in sklearn

KNN kann auch für Regressionsaufgaben verwendet werden.

4.1 KNN-Regressor importieren
from sklearn.neighbors import KNeighborsRegressor
  • 1
4.2 Erstellen Sie eine KNN-Regressor-Instanz
knn_reg = KNeighborsRegressor(n_neighbors=3)
  • 1
4.3 Trainingsmodell

Verwenden Sie den Datensatz, um ein KNN-Regressionsmodell zu trainieren.

knn_reg.fit(X, y)
  • 1
4.4 Vorhersagen treffen

Verwenden Sie das trainierte Modell für die Regressionsvorhersage.

y_pred_reg = knn_reg.predict(X)
  • 1
5. Vor- und Nachteile des K-Nearest Neighbor-Algorithmus
  • Vorteil: Der Algorithmus ist einfach und leicht zu verstehen, ohne die Datenverteilung vorauszusetzen.
  • Mangel: Hohe Rechenkomplexität, insbesondere bei großen Datensätzen; empfindlich gegenüber Ausreißern.
6 Fazit

Der K-Nearest-Neighbor-Algorithmus ist eine einfache, aber leistungsstarke Methode des maschinellen Lernens, die sich für Klassifizierungs- und Regressionsaufgaben eignet. sklearn bietet eine benutzerfreundliche KNN-Implementierung, die es uns ermöglicht, diesen Algorithmus schnell auf praktische Probleme anzuwenden.

Dieser Artikel beschreibt die Verwendung des KNN-Algorithmus in sklearn und bietet praktische Codebeispiele. Ich hoffe, dieser Artikel kann den Lesern helfen, den K-Nearest-Neighbor-Algorithmus besser zu verstehen und die Methoden zur Implementierung dieser Techniken in sklearn zu beherrschen. Da die Datenmenge weiter wächst und sich die Technologie des maschinellen Lernens weiterentwickelt, wird der K-Nearest-Neighbor-Algorithmus weiterhin eine wichtige Rolle bei der Datenanalyse und Vorhersagemodellierung spielen.