KNN-prestaties evalueren
We zagen zojuist een paar dingen bij onze KNN-scores. Zo begonnen de trainingsscores hoog en namen ze af naarmate n toenam, wat typisch is. De prestaties op de testset bereikten echter een piek bij 5, en dat gebruiken we als instelling in het uiteindelijke KNN-model.
Zoals we nu al een paar keer hebben gedaan, controleren we onze prestaties ook visueel. Dat helpt ons te zien hoe goed het model voorspelt in verschillende gebieden van de werkelijke waarden. We halen voorspellingen op uit ons knn-model met de .predict()-methode op onze geschaalde features. Daarna gebruiken we matplotlib's plt.scatter() om een spreidingsdiagram te maken van de werkelijke versus voorspelde waarden.
Deze oefening maakt deel uit van de cursus
Machine Learning voor finance in Python
Oefeninstructies
- Stel
n_neighborsin deKNeighborsRegressorin op de best presterende waarde 5 (gevonden in de vorige oefening). - Haal voorspellingen op met het
knn-model vanaf descaled_train_featuresenscaled_test_features. - Maak een spreidingsdiagram van de
test_targetstegenover detest_predictionsen label het alstest.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# Create the model with the best-performing n_neighbors of 5
knn = KNeighborsRegressor(____)
# Fit the model
knn.fit(scaled_train_features, train_targets)
# Get predictions for train and test sets
train_predictions = ____
test_predictions = ____
# Plot the actual vs predicted values
plt.scatter(train_predictions, train_targets, label='train')
plt.scatter(____)
plt.legend()
plt.show()