Évaluer nos résultats
Une fois notre ajustement linéaire et nos prédictions obtenus, nous voulons évaluer leur qualité afin de décider si notre modèle est satisfaisant. Idéalement, nous voudrions faire un backtest de toute stratégie de trading. Cependant, c'est une démarche complexe et généralement longue.
Une façon plus rapide d'apprécier les performances de notre modèle consiste à examiner des métriques d'évaluation de régression comme R\(^2\), et à tracer les prédictions face aux valeurs réelles des cibles. Des prédictions parfaites formeraient une ligne droite et diagonale sur un tel graphique, ce qui nous permet d'estimer visuellement la qualité des prédictions dans différentes zones de variation des prix. Nous pouvons utiliser la fonction .scatter() de matplotlib pour créer des nuages de points des prédictions et des valeurs réelles.
Cet exercice fait partie du cours
<cours>Machine Learning pour la finance en Python</cours>Instructions de l’exercice
- Affichez
test_predictionsvstest_targetsdans un nuage de points, avec 20 % d'opacité pour les points (utilisez le paramètrealphapour régler l'opacité). - Tracez la ligne de prédiction parfaite en utilisant
np.arange()et les valeurs minimale et maximale de l'axe des x (xmin,xmax). - Affichez la légende sur le graphique avec
plt.legend().
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Scatter the predictions vs the targets with 20% opacity
plt.scatter(train_predictions, train_targets, alpha=0.2, color='b', label='train')
plt.scatter(____, ____, ____, color='r', label='test')
# Plot the perfect prediction line
xmin, xmax = plt.xlim()
plt.plot(np.arange(xmin, xmax, 0.01), np.arange(____, ____, 0.01), c='k')
# Set the axis labels and show the plot
plt.xlabel('predictions')
plt.ylabel('actual')
____ # show the legend
plt.show()