Fai previsioni con una random forest
Per addestrare un modello di Machine Learning che predica portafogli ideali, dobbiamo creare train e test set per valutarne le prestazioni. Lo faremo come nei capitoli precedenti: prendiamo gli array features e targets e li dividiamo in base a un train_size che impostiamo. Spesso il train size è intorno al 70–90% dei nostri dati.
Poi addestriamo il modello (in questo caso una random forest) sui dati di training e valutiamo gli R\(^2\) su train e test usando .score() del nostro modello. In questo esercizio gli iperparametri sono già impostati, ma di solito conviene fare una ricerca con ParameterGrid come nei capitoli precedenti.
Questo esercizio fa parte del corso
Machine Learning per la finanza in Python
Istruzioni dell'esercizio
- Imposta
train_sizeall'85% dell'intero dataset di training usando la proprietà.shapedifeatures. - Crea i target di train e test da
targetsusando l'indicizzazione di Python. - Addestra il modello di random forest su
train_featuresetrain_targets.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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))