Évaluer les performances
Enfin, comme toujours, nous voulons évaluer les performances de notre meilleur modèle pour voir dans quelle mesure il s'en sort. Idéalement, il faudrait faire du backtesting, mais c'est un processus complexe que nous n'avons pas la place d'aborder dans ce cours.
Nous avons déjà vu les scores R\(^2\), mais examinons maintenant le nuage de points des prédictions par rapport aux valeurs réelles avec matplotlib. Des prédictions parfaites formeraient une ligne diagonale allant du coin inférieur gauche au coin supérieur droit.
Cet exercice fait partie du cours
<cours>Machine Learning pour la finance en Python</cours>Instructions de l’exercice
- Utilisez la meilleure valeur de
max_featurespour notreRandomForestRegressor(rfr) trouvée à l'exercice précédent (c'était 4). - Faites des prédictions avec le modèle à l'aide de
train_featuresettest_features. - Tracez un nuage de points des cibles réelles (train/test_targets) par rapport aux prédictions (train/test_predictions), et étiquetez les jeux de données
trainettest.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Use the best hyperparameters from before to fit a random forest model
rfr = RandomForestRegressor(n_estimators=200, max_depth=3, max_features=____, random_state=42)
rfr.fit(train_features, train_targets)
# Make predictions with our model
train_predictions = rfr.predict(____)
test_predictions = ____
# Create a scatter plot with train and test actual vs predictions
plt.scatter(train_targets, train_predictions, label='train')
plt.scatter(____)
plt.legend()
plt.show()