Probeer verschillende maximale dieptes
We willen onze Machine Learning-modellen altijd optimaliseren om zo goed mogelijke voorspellingen te maken. Dat kan door hyperparameters af te stemmen: instellingen van onze modellen. We gaan later uitgebreider zien hoe nuttig die zijn, maar voor nu kun je ze zien als draaiknoppen waarmee je je voorspellingen zo goed mogelijk afstelt.
Voor gewone decision trees is max_depth waarschijnlijk de belangrijkste hyperparameter. Die beperkt het aantal splits in een beslisboom. Laten we de beste waarde voor max_depth vinden op basis van de R\(^2\)-score van ons model op de testset, die we kunnen opvragen met de score()-methode van onze beslisboommodellen.
Deze oefening maakt deel uit van de cursus
Machine Learning voor finance in Python
Oefeninstructies
- Loop over de waarden 3, 5 en 10 om te gebruiken als de parameter
max_depthin ons beslisboommodel. - Stel de parameter
max_depthin onze DecisionTreeRegressor in opdin elke iteratie van de lus. - Print de score van het model op
train_featuresentrain_targets.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# Loop through a few different max depths and check the performance
for d in [____]:
# Create the tree and fit it
decision_tree = DecisionTreeRegressor(____)
decision_tree.fit(train_features, train_targets)
# Print out the scores on train and test
print('max_depth=', str(d))
print(decision_tree.score(____))
print(decision_tree.score(test_features, test_targets), '\n')