Generează predicții cu un random forest
Pentru a antrena un model de machine learning care să prezică portofoliile optime, trebuie să creăm seturi de antrenament și de testare pentru evaluarea performanței. Vom proceda ca în capitolele anterioare: luăm arrays-urile features și targets și le împărțim în funcție de o valoare train_size pe care o stabilim. De obicei, dimensiunea setului de antrenament reprezintă între 70% și 90% din date.
Antrenăm apoi modelul (un random forest, în acest caz) pe datele de antrenament și evaluăm scorurile R\(^2\) pe seturile de antrenament și de testare folosind .score() din model. În acest exercițiu, hiperparametrii sunt deja setați pentru tine, dar în mod normal ai dori să efectuezi o căutare cu ParameterGrid, așa cum am făcut în capitolele anterioare.
Acest exercițiu face parte din cursul
Machine Learning pentru finanțe în Python
Instrucțiuni pentru exercițiu
- Setează
train_sizela 85% din datele complete de antrenament, folosind proprietatea.shapea array-uluifeatures. - Creează țintele de antrenament și de testare din
targetsfolosind indexarea în Python. - Antrenează modelul random forest pe
train_featuresșitrain_targets.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Make train and test features
train_size = int(0.85 * ____)
train_features = features[:train_size]
test_features = features[train_size:]
train_targets = targets[____]
test_targets = targets[____]
# Fit the model and check scores on train and test
rfr = RandomForestRegressor(n_estimators=300, random_state=42)
rfr.fit(____, ____)
print(rfr.score(train_features, train_targets))
print(rfr.score(test_features, test_targets))