Przewidywanie za pomocą lasu losowego
Aby dopasować model uczenia maszynowego do przewidywania optymalnych portfeli, musimy utworzyć zbiory treningowy i testowy do oceny wydajności. Postąpimy tak samo jak w poprzednich rozdziałach – weźmiemy tablice features i targets, a następnie podzielimy je na podstawie ustawionego parametru train_size. Zazwyczaj rozmiar zbioru treningowego wynosi około 70–90% danych.
Następnie dopasowujemy model (w tym przypadku las losowy) do danych treningowych i oceniamy wyniki R\(^2\) dla zbiorów treningowego i testowego przy użyciu metody .score(). Hiperparametry zostały już tu ustawione, ale zwykle warto przeprowadzić ich przeszukiwanie za pomocą ParameterGrid, tak jak robiliśmy to w poprzednich rozdziałach.
To ćwiczenie jest częścią kursu
Uczenie maszynowe w finansach z Pythonem
Instrukcje do ćwiczenia
- Ustaw
train_sizena 85% pełnego zbioru danych, korzystając z właściwości.shapetablicyfeatures. - Utwórz zbiory treningowy i testowy zmiennej
targets, używając indeksowania w Pythonie. - Dopasuj model lasu losowego do
train_featuresitrain_targets.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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))