CommencerCommencez gratuitement

É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>
Voir le cours

Instructions de l’exercice

  • Définissez n_neighbors dans KNeighborsRegressor sur la meilleure valeur de 5 (trouvée dans l'exercice précédent).
  • Obtenez des prédictions avec le modèle knn à partir de scaled_train_features et scaled_test_features.
  • Créez un nuage de points de test_targets en fonction de test_predictions et étiquetez-le test.

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()
Modifier et exécuter le code