Ottieni le predizioni e prima valutazione
Ora che abbiamo addestrato un modello di random forest (rfr), vogliamo usarlo per ottenere predizioni sul set di test. Lo facciamo per valutare le prestazioni del modello: in modo basilare, sta facendo bene quanto o meglio del semplice acquisto dell'indice, SPY?
Useremo il classico metodo sklearn .predict(features), poi moltiplicheremo i rendimenti mensili per le nostre predizioni di portafoglio. Sommiamo il tutto con np.sum() dato che avremo 3 righe per ogni mese. Infine, tracciamo sia i rendimenti mensili derivanti dalle nostre predizioni, sia SPY, e confrontiamo i due.
Questo esercizio fa parte del corso
Machine Learning per la finanza in Python
Istruzioni dell'esercizio
- Usa il metodo
.predict()del modello di random forestrfrper fare predizioni sutrain_featuresetest_features. - Moltiplica la porzione di
returns_monthlydel set di test pertest_predictionsper ottenere i rendimenti delle nostre predizioni sul test. - Traccia i
returns_monthlydel set di test per'SPY'(tutto datrain_sizefino alla fine dei dati).
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# Get predictions from model on train and test
train_predictions = rfr.predict(train_features)
test_predictions = ____
# Calculate and plot returns from our RF predictions and the SPY returns
test_returns = np.sum(returns_monthly.iloc[train_size:] * ____, axis=1)
plt.plot(test_returns, label='algo')
plt.plot(returns_monthly['SPY'].iloc[____], label='SPY')
plt.legend()
plt.show()