Obține predicții și prima evaluare
Acum că avem un model de pădure aleatorie antrenat (rfr), vrem să îl folosim pentru a genera predicții pe setul de testare. Facem asta pentru a evalua performanța modelului – la nivel de bază, se descurcă la fel de bine sau mai bine decât simpla cumpărare a indicelui SPY?
Vom folosi metoda standard sklearn .predict(features), apoi vom înmulți randamentele lunare cu predicțiile portofoliului nostru. Le adunăm cu np.sum(), deoarece vom avea 3 rânduri pentru fiecare lună. Apoi reprezentăm grafic atât randamentele lunare din predicțiile noastre, cât și cele ale SPY, și le comparăm.
Acest exercițiu face parte din cursul
Machine Learning pentru finanțe în Python
Instrucțiuni pentru exercițiu
- Folosește metoda
.predict()a modelului de pădure aleatorierfrpentru a genera predicții petrain_featuresșitest_features. - Înmulțește porțiunea din
returns_monthlycorespunzătoare setului de testare cutest_predictionspentru a obține randamentele predicțiilor pe setul de testare. - Reprezentează grafic
returns_monthlypentru'SPY'din setul de testare (tot ce urmează de latrain_sizepână la sfârșitul datelor).
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()