Obtenir les prédictions et une première évaluation
Maintenant que nous avons un modèle de forêt aléatoire entraîné (rfr), nous voulons l'utiliser pour obtenir des prédictions sur l'ensemble de test. Nous faisons cela pour évaluer la performance de notre modèle — de façon simple, fait-il aussi bien ou mieux que d'acheter l'indice, SPY?
Nous allons utiliser la méthode habituelle de sklearn .predict(features), puis multiplier nos rendements mensuels par nos prédictions de portefeuille. Nous additionnons le tout avec np.sum() puisque cela aura 3 lignes pour chaque mois. Ensuite, nous traçons à la fois les rendements mensuels issus de nos prédictions ainsi que ceux de SPY, puis nous les comparons.
Cette activité fait partie du cours
Machine Learning pour la finance en Python
Instructions de l’exercice
- Utilisez la méthode
.predict()du modèle de forêt aléatoirerfrpour faire des prédictions surtrain_featuresettest_features. - Multipliez la portion de
returns_monthlycorrespondant au jeu de test partest_predictionspour obtenir les rendements de nos prédictions sur l'ensemble de test. - Tracez les
returns_monthlydu jeu de test pour'SPY'(tout à partir detrain_sizejusqu'à la fin des données).
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Get predictions from model on train and test
train_predictions = rfr.predict(train_features)
test_predictions = ____
# Calculate and plot returns from our RF predictions and the SPY returns
test_returns = np.sum(returns_monthly.iloc[train_size:] * ____, axis=1)
plt.plot(test_returns, label='algo')
plt.plot(returns_monthly['SPY'].iloc[____], label='SPY')
plt.legend()
plt.show()