Hyperparameters van KNN
Om de concepten uit de vorige oefening toe te passen, is het goed om je inzichten te testen op een nieuw algoritme. Het k-nearest-neighbors-algoritme is niet meer zo populair als vroeger, maar kan nog steeds een uitstekende keuze zijn voor data met groepen die zich vergelijkbaar gedragen. Is dat het geval bij onze creditcardgebruikers?
In deze oefening probeer je verschillende waarden uit voor een van de kernhyperparameters van het knn-algoritme en vergelijk je de prestaties.
Je hebt tot je beschikking:
X_train,X_test,y_train,y_testDataFrames
Deze oefening maakt deel uit van de cursus
Hyperparameter Tuning in Python
Oefeninstructies
- Bouw een knn-estimator voor de volgende waarden van
n_neighbors[5,10,20]. - Fit elk model op de trainingsdata en maak voorspellingen.
- Bereken voor elk model een accuracy-score en print ze uit.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Build a knn estimator for each value of n_neighbours
knn_5 = KNeighborsClassifier(n_neighbors=____)
knn_10 = KNeighborsClassifier(n_neighbors=____)
knn_20 = KNeighborsClassifier(n_neighbors=____)
# Fit each to the training data & produce predictions
knn_5_predictions = knn_5.fit(_____, _____).predict(_____)
knn_10_predictions = knn_10.fit(_____, _____).predict(_____)
knn_20_predictions = knn_20.fit(_____, _____).predict(_____)
# Get an accuracy score for each of the models
knn_5_accuracy = accuracy_score(y_test, _____)
knn_10_accuracy = accuracy_score(y_test, _____)
knn_20_accuracy = accuracy_score(y_test, _____)
print("The accuracy of 5, 10, 20 neighbours was {}, {}, {}".format(_____, _____, _____))