Faire des prédictions avec une forêt aléatoire
Pour entraîner un modèle de Machine Learning qui prédit des portefeuilles idéaux, nous devons créer des ensembles d'entraînement et de test pour évaluer la performance. Nous allons procéder comme dans les chapitres précédents : prendre nos tableaux features et targets et les diviser selon une valeur train_size que nous fixons. Souvent, la taille d'entraînement représente environ 70 à 90 % de nos données.
Nous entraînons ensuite notre modèle (ici, une forêt aléatoire) sur les données d'entraînement et évaluons les scores R\(^2\) sur l'entraînement et le test à l'aide de .score() du modèle. Dans cet exercice, les hyperparamètres sont déjà définis pour vous, mais en pratique, vous voudriez généralement faire une recherche avec ParameterGrid, comme nous l'avons fait dans les chapitres précédents.
Cette activité fait partie du cours
Machine Learning pour la finance en Python
Instructions de l’exercice
- Réglez
train_sizeà 85 % de l'ensemble complet des données d'entraînement en utilisant la propriété.shapedefeatures. - Créez les cibles d'entraînement et de test à partir de
targetsen utilisant l'indexation Python. - Entraînez le modèle de forêt aléatoire avec
train_featuresettrain_targets.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Make train and test features
train_size = int(0.85 * ____)
train_features = features[:train_size]
test_features = features[train_size:]
train_targets = targets[____]
test_targets = targets[____]
# Fit the model and check scores on train and test
rfr = RandomForestRegressor(n_estimators=300, random_state=42)
rfr.fit(____, ____)
print(rfr.score(train_features, train_targets))
print(rfr.score(test_features, test_targets))