Kom igångKom igång gratis

Ö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

Visa kurs

Övningsinstruktioner

  • Skapa neighbors som en numpy-array med värden från 1 upp till och inklusive 12.
  • Instansiera en KNeighborsClassifier där antalet grannar är lika med iteratorn neighbor.
  • Anpassa modellen till träningsdata.
  • Beräkna noggrannhetspoängen för tränings- och testuppsättningen separat med metoden .score(), och tilldela resultaten till ordlistorna train_accuracies respektive test_accuracies, med neighbor som 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)
Redigera och kör kod