Voorspellingen maken met een random forest
Om een Machine Learning-model te trainen dat ideale portefeuilles voorspelt, moeten we train- en testsets maken om de prestaties te evalueren. Dat doen we net als in eerdere hoofdstukken: we nemen onze arrays features en targets, en splitsen ze op basis van een ingestelde train_size. Vaak ligt de train size rond 70–90% van onze data.
Daarna trainen we ons model (hier een random forest) op de trainingsgegevens en evalueren we de R\(^2\)-scores op train en test met .score() van ons model. In dit geval zijn de hyperparameters al voor je ingesteld, maar meestal wil je een zoekprocedure doen met ParameterGrid, zoals we in eerdere hoofdstukken hebben gedaan.
Deze oefening maakt deel uit van de cursus
Machine Learning voor finance in Python
Oefeninstructies
- Stel
train_sizein op 85% van de volledige trainingsdata met de.shape-eigenschap vanfeatures. - Maak train- en testdoelen aan uit
targetsmet Python-indexering. - Train het random-forestmodel op
train_featuresentrain_targets.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# 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))