Aan de slagBegin gratis

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

Bekijk cursus

Oefeninstructies

  • Loop over de waarden 3, 5 en 10 om te gebruiken als de parameter max_depth in ons beslisboommodel.
  • Stel de parameter max_depth in onze DecisionTreeRegressor in op d in elke iteratie van de lus.
  • Print de score van het model op train_features en train_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')
Code bewerken en uitvoeren