LoslegenKostenlos loslegen

Hyperparameter von KNN

Um die Konzepte aus der vorherigen Übung anzuwenden, ist es eine gute Übung, ein neues Verfahren auszuprobieren. Der k-nearest-neighbors-Algorithmus ist nicht mehr ganz so populär wie früher, kann aber für Daten mit Gruppen ähnlich agierender Beobachtungen eine ausgezeichnete Wahl sein. Könnte das auch für unsere Kreditkartenkund:innen zutreffen?

In dieser Aufgabe probierst du mehrere verschiedene Werte für einen der zentralen Hyperparameter des knn-Algorithmus aus und vergleichst die Leistung.

Du hast Folgendes zur Verfügung:

  • X_train, X_test, y_train, y_test DataFrames

Diese Übung ist Teil des Kurses

Hyperparameter-Tuning in Python

Kurs anzeigen

Anleitung zur Übung

  • Baue einen knn-Schätzer für die folgenden Werte von n_neighbors: [5,10,20].
  • Fitte jedes Modell auf die Trainingsdaten und erzeuge Vorhersagen.
  • Ermittle für jedes Modell den Accuracy-Score und gib ihn aus.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Build a knn estimator for each value of n_neighbours
knn_5 = KNeighborsClassifier(n_neighbors=____)
knn_10 = KNeighborsClassifier(n_neighbors=____)
knn_20 = KNeighborsClassifier(n_neighbors=____)

# Fit each to the training data & produce predictions
knn_5_predictions = knn_5.fit(_____, _____).predict(_____)
knn_10_predictions = knn_10.fit(_____, _____).predict(_____)
knn_20_predictions = knn_20.fit(_____, _____).predict(_____)

# Get an accuracy score for each of the models
knn_5_accuracy = accuracy_score(y_test, _____)
knn_10_accuracy = accuracy_score(y_test, _____)
knn_20_accuracy = accuracy_score(y_test, _____)
print("The accuracy of 5, 10, 20 neighbours was {}, {}, {}".format(_____, _____, _____))
Code bearbeiten und ausführen