Controleer je resultaten
Als we een geoptimaliseerd model hebben, willen we in meer detail bekijken hoe het presteert. We hebben de R\(^2\)-score al gezien, maar het is handig om de voorspellingen te plotten tegenover de echte waarden. We kunnen de .predict()-methode van ons decision tree-model gebruiken om voorspellingen te krijgen voor de train- en testsets.
Idealiter zie je diagonale lijnen van linksonder naar rechtsboven. Door de eenvoud van decision trees zal ons model het echter niet goed doen op de testset. Op de trainset presteert het wel goed.
Deze oefening maakt deel uit van de cursus
Machine Learning voor finance in Python
Oefeninstructies
- Maak een
DecisionTreeRegressor-model met de naamdecision_treemet 3 als waarde voor de hyperparametermax_depth. - Maak voorspellingen op de train- en testsets (
train_featuresentest_features) met ons decision tree-model. - Maak een scatterplot van de train- en testvoorspellingen tegenover de echte targetwaarden met
plt.scatter(), en zet voor de testset het argumentlabelgelijk aantest.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# Use the best max_depth of 3 from last exercise to fit a decision tree
decision_tree = ____
decision_tree.fit(train_features, train_targets)
# Predict values for train and test
train_predictions = decision_tree.predict(train_features)
test_predictions = ____
# Scatter the predictions vs actual values
plt.scatter(train_predictions, train_targets, label='train')
plt.scatter(____)
plt.show()