Aan de slagGa gratis aan de slag

Overfitting en underfitting

Het interpreteren van modelcomplexiteit is een goede manier om de prestaties van supervised learning te beoordelen. Je doel is een model te maken dat de relatie tussen features en de doelvariabele kan interpreteren én goed kan generaliseren naar nieuwe observaties.

De training- en testsets zijn gemaakt uit de churn_df-gegevensset en vooraf geladen als X_train, X_test, y_train en y_test.

Daarnaast zijn KNeighborsClassifier en numpy als np voor je geïmporteerd.

Deze oefening maakt deel uit van de cursus

Supervised Learning met scikit-learn

Cursus bekijken

Oefeninstructies

  • Maak neighbors als een numpy-array met waarden van 1 tot en met 12.
  • Instantier een KNeighborsClassifier, met het aantal buren gelijk aan de neighbor-iterator.
  • Fit het model op de trainingsdata.
  • Bereken de accuracyscores voor de trainingsset en de testset afzonderlijk met de methode .score(), en sla de resultaten op in respectievelijk de dictionaries train_accuracies en test_accuracies, waarbij je de neighbor-iterator als index gebruikt.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 bewerken en uitvoeren