Valutare le prestazioni
Ora che abbiamo addestrato la nostra rete neurale, verifichiamo le prestazioni per capire quanto bene il modello predice nuovi valori. Non esiste un metodo .score() integrato come nei modelli di sklearn, quindi useremo la funzione r2_score() da sklearn.metrics. Questa calcola il punteggio R\(^2\) dati gli argomenti (y_true, y_predicted). Inoltre, traceremo di nuovo le nostre previsioni rispetto ai valori reali. Tra poco questo produrrà risultati interessanti (una volta implementata la nostra funzione di loss personalizzata).
Questo esercizio fa parte del corso
Machine Learning per la finanza in Python
Istruzioni dell'esercizio
- Ottieni le previsioni da
model_1sul set di test scalato (scaled_test_featuresetest_targets). - Stampa il punteggio R\(^2\) sul set di test (
test_targetsetest_preds). - Rappresenta
test_predsrispetto atest_targetsin uno scatter plot conplt.scatter().
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
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()