Évaluer les performances de KNN
Nous venons d'observer plusieurs éléments avec nos scores KNN. D'une part, les scores d'entraînement ont commencé élevés puis ont diminué avec l'augmentation de n, ce qui est typique. Les performances sur l'ensemble de test ont toutefois atteint un pic à 5, et nous utiliserons donc cette valeur comme paramétrage dans le modèle KNN final.
Comme nous l'avons déjà fait plusieurs fois, nous allons vérifier nos performances visuellement. Cela nous aide à voir la qualité des prédictions du modèle selon différentes zones de valeurs réelles. Nous allons obtenir des prédictions de notre modèle knn en utilisant la méthode .predict() sur nos features normalisées. Nous utiliserons ensuite plt.scatter() de matplotlib pour créer un nuage de points des valeurs réelles face aux valeurs prédites.
Cet exercice fait partie du cours
<cours>Machine Learning pour la finance en Python</cours>Instructions de l’exercice
- Définissez
n_neighborsdansKNeighborsRegressorsur la meilleure valeur de 5 (trouvée dans l'exercice précédent). - Obtenez des prédictions avec le modèle
knnà partir descaled_train_featuresetscaled_test_features. - Créez un nuage de points de
test_targetsen fonction detest_predictionset étiquetez-letest.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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()