Utvärdera prestanda
Slutligen, som alltid, vill vi utvärdera vår bästa modells prestanda för att se hur väl den fungerar. Helst bör man göra backtestning, men det är en mer omfattande process som vi inte hinner gå igenom i den här kursen.
Vi har redan sett R\(^2\)-värdena, men låt oss även titta på ett spridningsdiagram över förutsägelser kontra faktiska resultat med hjälp av matplotlib. Perfekta förutsägelser skulle bilda en diagonal linje från nedre vänster till övre höger.
Den här övningen är en del av kursen
Maskininlärning för finans i Python
Övningsinstruktioner
- Använd det bästa värdet för
max_featuresi vårRandomForestRegressor(rfr) som vi hittade i föregående övning (det var 4). - Gör förutsägelser med modellen och använd
train_featuresrespektivetest_features. - Plotta faktiska målvärden (train/test_targets) mot förutsägelserna (train/test_predictions) i ett spridningsdiagram, och märk datamängderna
trainochtest.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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()