Evaluarea performanței
În final, ca de obicei, vrem să evaluăm performanța celui mai bun model al nostru, pentru a vedea cât de bine sau de slab se descurcă. Ideal ar fi să realizăm back-testing, însă este un proces complex pe care nu avem spațiu să îl acoperim în acest curs.
Am văzut deja scorurile R\(^2\), dar hai să aruncăm o privire și asupra graficului scatter al predicțiilor față de rezultatele reale, folosind matplotlib. Predicțiile perfecte ar forma o linie diagonală de la colțul din stânga-jos până la colțul din dreapta-sus.
Acest exercițiu face parte din cursul
Machine Learning pentru finanțe în Python
Instrucțiuni pentru exercițiu
- Folosește valoarea optimă pentru
max_featuresînRandomForestRegressor-ul (rfr) nostru, pe care am identificat-o în exercițiul anterior (era 4). - Generează predicții cu modelul, folosind
train_featuresșitest_features. - Realizează un grafic scatter cu valorile reale (train/test_targets) față de predicții (train/test_predictions) și etichetează seturile de date ca
train, respectivtest.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Use the best hyperparameters from before to fit a random forest model
rfr = RandomForestRegressor(n_estimators=200, max_depth=3, max_features=____, random_state=42)
rfr.fit(train_features, train_targets)
# Make predictions with our model
train_predictions = rfr.predict(____)
test_predictions = ____
# Create a scatter plot with train and test actual vs predictions
plt.scatter(train_targets, train_predictions, label='train')
plt.scatter(____)
plt.legend()
plt.show()