Prestatie meten
Nu we ons neuraal netwerk hebben getraind, gaan we de prestaties controleren om te zien hoe goed ons model nieuwe waarden voorspelt. Er is geen ingebouwde .score()-methode zoals bij sklearn-modellen, dus we gebruiken de functie r2_score() uit sklearn.metrics. Deze berekent de R\(^2\)-score op basis van de argumenten (y_true, y_predicted). We plotten ook opnieuw onze voorspellingen tegenover de werkelijke waarden. Dit levert straks interessante resultaten op (zodra we onze eigen custom loss-functie implementeren).
Deze oefening maakt deel uit van de cursus
Machine Learning voor finance in Python
Oefeninstructies
- Verkrijg voorspellingen van
model_1op de geschaalde testgegevens (scaled_test_featuresentest_targets). - Print de R\(^2\)-score op de testset (
test_targetsentest_preds). - Plot
test_predstegenovertest_targetsin een scatterplot metplt.scatter().
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
from sklearn.metrics import r2_score
# Calculate R^2 score
train_preds = model_1.predict(scaled_train_features)
test_preds = model_1.predict(____)
print(r2_score(train_targets, train_preds))
print(r2_score(____, ____))
# Plot predictions vs actual
plt.scatter(train_preds, train_targets, label='train')
plt.scatter(____)
plt.legend()
plt.show()