Utvärdera KNN-prestanda
Vi har nu sett några intressanta mönster i våra KNN-poäng. Träningspoängen började högt och minskade när n ökade, vilket är typiskt. Testprestandan nådde sin topp vid 5, och det värdet använder vi i den slutliga KNN-modellen.
Precis som vi gjort tidigare kontrollerar vi prestandan visuellt. Det hjälper oss att se hur väl modellen predikterar för olika delar av de faktiska värdena. Vi hämtar prediktioner från vår knn-modell med metoden .predict() på våra skalade särdrag. Sedan använder vi matplotlibs plt.scatter() för att skapa ett spridningsdiagram över faktiska kontra predikterade värden.
Den här övningen är en del av kursen
Maskininlärning för finans i Python
Övningsinstruktioner
- Sätt
n_neighborsiKNeighborsRegressortill det bäst presterande värdet 5 (som hittades i föregående övning). - Hämta prediktioner med
knn-modellen frånscaled_train_featuresochscaled_test_features. - Skapa ett spridningsdiagram över
test_targetskontratest_predictionsoch ge det etikettentest.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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()