Évaluer nos résultats
Une fois notre ajustement linéaire et nos prédictions obtenus, nous voulons vérifier leur qualité afin de déterminer si notre modèle vaut la peine d'être utilisé. Idéalement, on voudrait effectuer un « back-test » de toute stratégie de négociation. Cependant, c'est une démarche complexe et généralement longue.
Une façon plus rapide d'évaluer la performance de notre modèle est d'examiner des mesures d'évaluation en régression comme R\(^2\), et de tracer les prédictions par rapport aux valeurs réelles des cibles. Des prédictions parfaites formeraient une ligne droite diagonale sur un tel graphique, ce qui nous permet d'estimer d'un coup d'œil la performance de nos prédictions dans différentes zones de variations de prix. Nous pouvons utiliser la fonction .scatter() de matplotlib pour créer des nuages de points des prédictions et des valeurs réelles.
Cette activité fait partie du cours
Machine Learning pour la finance en Python
Instructions de l’exercice
- Affichez
test_predictionspar rapport àtest_targetsdans un nuage de points, avec une opacité de 20 % pour les points (utilisez le paramètrealphapour régler l'opacité). - Tracez la ligne de prédiction parfaite avec
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()