Överanpassning och underanpassning
Att tolka modellkomplexitet är ett utmärkt sätt att utvärdera prestandan hos övervakad inlärning. Målet är att skapa en modell som både kan fånga sambandet mellan särdrag och målvariabeln, och som generaliserar väl på nya observationer.
Tränings- och testuppsättningarna har skapats från datamängden churn_df och är förladdade som X_train, X_test, y_train och y_test.
Dessutom har KNeighborsClassifier importerats åt dig tillsammans med numpy som np.
Den här övningen är en del av kursen
Övervakad inlärning med scikit-learn
Övningsinstruktioner
- Skapa
neighborssom ennumpy-array med värden från1upp till och inklusive12. - Instansiera en
KNeighborsClassifierdär antalet grannar är lika med iteratornneighbor. - Anpassa modellen till träningsdata.
- Beräkna noggrannhetspoängen för tränings- och testuppsättningen separat med metoden
.score(), och tilldela resultaten till ordlistornatrain_accuraciesrespektivetest_accuracies, medneighborsom index.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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)