LoslegenKostenlos loslegen

Überanpassung und Unteranpassung

Anhand der Modellkomplexität lässt sich die Leistung des Modells beim überwachten Lernen gut bewerten. Deine Aufgabe ist es, ein Modell zu erstellen, das die Beziehung zwischen den Merkmalen und der Zielvariablen interpretieren kann und auch bei neuen Daten gut verallgemeinert.

Die Trainings- und Testmengen wurden aus dem Datensatz churn_df erstellt und als X_train, X_test, y_train und y_test geladen.

Außerdem wurde KNeighborsClassifier zusammen mit numpy als np schon importiert.

Diese Übung ist Teil des Kurses

Überwachtes Lernen mit scikit-learn

Kurs anzeigen

Anleitung zur Übung

  • Erstelle neighbors als numpy-Array mit Werten von 1 bis einschließlich 12.
  • Instanziiere ein KNeighborsClassifier-Objekt mit der Anzahl der Nachbarn gleich dem neighbor-Iterator.
  • Passe das Modell an die Trainingsdaten an.
  • Berechne mit der Methode .score() separat die Korrektklassifikationsraten für die Trainings- und die Testmenge, weise die Ergebnisse den Dictionarys train_accuracies bzw. test_accuracies zu und nutze dabei den neighbor-Iterator als Index.

Interaktive Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# Create neighbors
neighbors = np.arange(____, ____)
train_accuracies = {}
test_accuracies = {}

for neighbor in neighbors:
  
	# Set up a KNN Classifier
	knn = ____(____=____)
  
	# Fit the model
	knn.____(____, ____)
  
	# Compute accuracy
	train_accuracies[____] = knn.____(____, ____)
	test_accuracies[____] = knn.____(____, ____)
print(neighbors, '\n', train_accuracies, '\n', test_accuracies)
Code bearbeiten und ausführen