Predikce pomocí náhodného lesa
Abychom mohli natrénovat model strojového učení pro predikci optimálních portfolií, musíme vytvořit trénovací a testovací sady pro vyhodnocení výkonu. Postup bude stejný jako v předchozích kapitolách – pole features a targets rozdělíme podle hodnoty train_size, kterou si nastavíme. Trénovací sada obvykle tvoří přibližně 70–90 % dat.
Model (v tomto případě náhodný les) pak natrénujeme na trénovacích datech a vyhodnotíme skóre R\(^2\) na trénovací i testovací sadě pomocí .score(). Hyperparametry jsou zde nastaveny za tebe, ale běžně bys je hledal/a pomocí ParameterGrid, jak jsme to dělali v předchozích kapitolách.
Toto cvičení je součástí kurzu
Machine Learning for Finance in Python
Pokyny k cvičení
- Nastav
train_sizena 85 % celé datové sady pomocí vlastnosti.shapepolefeatures. - Vytvoř trénovací a testovací cíle z pole
targetspomocí indexování v Pythonu. - Natrénuj model náhodného lesa na
train_featuresatrain_targets.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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))