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

bookImplementierung von K-NN

KNeighborsClassifier

Die Implementierung von k-Nearest Neighbors ist recht unkompliziert. Es genügt, die Klasse KNeighborsClassifier zu importieren und zu verwenden.

Nachdem die Klasse importiert und ein Klassenobjekt wie folgt erstellt wurde:

# Importing the class
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors=3)

müssen die Trainingsdaten mit der Methode .fit() übergeben werden:

knn.fit(X_scaled, y)

Das ist alles! Neue Werte können jetzt vorhergesagt werden.

y_pred = knn.predict(X_new_scaled)

Skalierung der Daten

Es ist jedoch zu beachten, dass die Daten skaliert werden müssen. StandardScaler wird hierfür häufig verwendet:

Sie müssen xˉ\bar x und ss nur auf dem Trainingsdatensatz mit .fit() oder .fit_transform() berechnen. Verwenden Sie anschließend .transform() auf dem Testdatensatz, damit beide Datensätze identisch skaliert werden:

from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)

Die Verwendung unterschiedlicher Skalierungswerte für Training und Test beeinträchtigt die Vorhersagen.

Beispiel

Es wird vorhergesagt, ob eine Person Star Wars VI mag, basierend auf ihren Bewertungen für Episode IV und V (aus The Movies Dataset). Nach dem Training werden zwei Nutzer getestet: Einer bewertete IV/V mit 5 und 5, der andere mit 4.5 und 4.

123456789101112131415161718192021222324252627
from sklearn.neighbors import KNeighborsClassifier from sklearn.preprocessing import StandardScaler import numpy as np import pandas as pd import warnings warnings.filterwarnings('ignore') df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b71ff7ac-3932-41d2-a4d8-060e24b00129/starwars_binary.csv') # Dropping the target column and leaving only features as `X_train` X_train = df.drop('StarWars6', axis=1) # Storing target column as `y_train`, which contains 1 (liked SW 6) or 0 (didn't like SW 6) y_train = df['StarWars6'] # Test set of two people X_test = np.array([[5, 5], [4.5, 4]]) # Scaling the data scaler = StandardScaler() X_train = scaler.fit_transform(X_train) X_test = scaler.transform(X_test) # Building a model and predict new instances knn = KNeighborsClassifier(n_neighbors=13).fit(X_train, y_train) y_pred = knn.predict(X_test) print(y_pred)
copy
question mark

Welche der folgenden Klassennamen aus scikit-learn werden verwendet, um den k-Nearest Neighbors-Klassifikator zu implementieren und Merkmale bei der Vorbereitung der Daten für k-NN zu skalieren?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 4

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

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

bookImplementierung von K-NN

Swipe um das Menü anzuzeigen

KNeighborsClassifier

Die Implementierung von k-Nearest Neighbors ist recht unkompliziert. Es genügt, die Klasse KNeighborsClassifier zu importieren und zu verwenden.

Nachdem die Klasse importiert und ein Klassenobjekt wie folgt erstellt wurde:

# Importing the class
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors=3)

müssen die Trainingsdaten mit der Methode .fit() übergeben werden:

knn.fit(X_scaled, y)

Das ist alles! Neue Werte können jetzt vorhergesagt werden.

y_pred = knn.predict(X_new_scaled)

Skalierung der Daten

Es ist jedoch zu beachten, dass die Daten skaliert werden müssen. StandardScaler wird hierfür häufig verwendet:

Sie müssen xˉ\bar x und ss nur auf dem Trainingsdatensatz mit .fit() oder .fit_transform() berechnen. Verwenden Sie anschließend .transform() auf dem Testdatensatz, damit beide Datensätze identisch skaliert werden:

from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)

Die Verwendung unterschiedlicher Skalierungswerte für Training und Test beeinträchtigt die Vorhersagen.

Beispiel

Es wird vorhergesagt, ob eine Person Star Wars VI mag, basierend auf ihren Bewertungen für Episode IV und V (aus The Movies Dataset). Nach dem Training werden zwei Nutzer getestet: Einer bewertete IV/V mit 5 und 5, der andere mit 4.5 und 4.

123456789101112131415161718192021222324252627
from sklearn.neighbors import KNeighborsClassifier from sklearn.preprocessing import StandardScaler import numpy as np import pandas as pd import warnings warnings.filterwarnings('ignore') df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b71ff7ac-3932-41d2-a4d8-060e24b00129/starwars_binary.csv') # Dropping the target column and leaving only features as `X_train` X_train = df.drop('StarWars6', axis=1) # Storing target column as `y_train`, which contains 1 (liked SW 6) or 0 (didn't like SW 6) y_train = df['StarWars6'] # Test set of two people X_test = np.array([[5, 5], [4.5, 4]]) # Scaling the data scaler = StandardScaler() X_train = scaler.fit_transform(X_train) X_test = scaler.transform(X_test) # Building a model and predict new instances knn = KNeighborsClassifier(n_neighbors=13).fit(X_train, y_train) y_pred = knn.predict(X_test) print(y_pred)
copy
question mark

Welche der folgenden Klassennamen aus scikit-learn werden verwendet, um den k-Nearest Neighbors-Klassifikator zu implementieren und Merkmale bei der Vorbereitung der Daten für k-NN zu skalieren?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 4
some-alt