Prestaties evalueren
Tot slot willen we, zoals altijd, de prestaties van ons beste model beoordelen om te zien hoe goed of slecht we het doen. Idealiter doe je aan backtesting, maar dat is een uitgebreid proces waar we in deze cursus geen ruimte voor hebben.
We hebben de R\(^2\)-scores al gezien, maar laten we eens kijken naar de scatterplot van voorspellingen versus werkelijke resultaten met matplotlib. Perfecte voorspellingen zouden een diagonale lijn vormen van linksonder naar rechtsboven.
Deze oefening maakt deel uit van de cursus
Machine Learning voor finance in Python
Oefeninstructies
- Gebruik het beste getal voor
max_featuresin onzeRandomForestRegressor(rfr) dat we in de vorige oefening vonden (dat was 4). - Maak voorspellingen met het model op basis van
train_featuresentest_features. - Zet de werkelijke targets (train/test_targets) uit tegen de voorspellingen (train/test_predictions) met een scatterplot, en label de gegevenssets als
trainentest.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# Use the best hyperparameters from before to fit a random forest model
rfr = RandomForestRegressor(n_estimators=200, max_depth=3, max_features=____, random_state=42)
rfr.fit(train_features, train_targets)
# Make predictions with our model
train_predictions = rfr.predict(____)
test_predictions = ____
# Create a scatter plot with train and test actual vs predictions
plt.scatter(train_targets, train_predictions, label='train')
plt.scatter(____)
plt.legend()
plt.show()