CommencerCommencez gratuitement

Faire des prédictions avec une random forest

Pour entraîner un modèle de Machine Learning afin de prédire des portefeuilles idéaux, nous devons créer des ensembles d'entraînement et de test pour évaluer les performances. Nous allons procéder comme dans les chapitres précédents : prendre nos tableaux features et targets, puis les scinder en fonction d'un train_size que nous définissons. Souvent, la taille d'entraînement représente environ 70 à 90 % de nos données.

Nous ajusterons ensuite notre modèle (une random forest dans ce cas) sur les données d'entraînement et nous évaluerons les scores R\(^2\) sur entraînement et test à l'aide de .score() depuis notre modèle. Ici, les hyperparamètres ont été définis pour vous, mais en pratique vous voudriez généralement effectuer une recherche avec ParameterGrid, comme nous l'avons fait dans les chapitres précédents.

Cet exercice fait partie du cours

<cours>Machine Learning pour la finance en Python</cours>
Voir le cours

Instructions de l’exercice

  • Définissez train_size à 85 % de l'ensemble complet des données d'entraînement en utilisant la propriété .shape de features.
  • Créez les cibles d'entraînement et de test à partir de targets en utilisant l'indexation Python.
  • Entraînez le modèle de random forest sur train_features et train_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))
Modifier et exécuter le code