Ü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
Anleitung zur Übung
- Erstelle
neighborsalsnumpy-Array mit Werten von1bis einschließlich12. - Instanziiere ein
KNeighborsClassifier-Objekt mit der Anzahl der Nachbarn gleich demneighbor-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 Dictionarystrain_accuraciesbzw.test_accuracieszu und nutze dabei denneighbor-Iterator als Index.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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)