Leistung messen
Jetzt, da wir unser neuronales Netz trainiert haben, prüfen wir die Leistung, um zu sehen, wie gut unser Modell neue Werte vorhersagt. Es gibt keine eingebaute .score()-Methode wie bei sklearn-Modellen, daher verwenden wir die Funktion r2_score() aus sklearn.metrics. Diese berechnet den R\(^2\)-Score für die Argumente (y_true, y_predicted). Außerdem plotten wir unsere Vorhersagen erneut gegen die tatsächlichen Werte. Das wird bald interessante Ergebnisse liefern (sobald wir unsere eigene benutzerdefinierte Verlustfunktion implementiert haben).
Diese Übung ist Teil des Kurses
<Kurs>Maschinelles Lernen für Finanzen in Python</Kurs>Übungsanweisungen
- Erzeuge Vorhersagen mit
model_1auf den skalierten Testdaten (scaled_test_featuresundtest_targets). - Gib den R\(^2\)-Score auf dem Testset aus (
test_targetsundtest_preds). - Plotte
test_predsgegenübertest_targetsin einem Streudiagramm mitplt.scatter().
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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()