Зробіть передбачення за допомогою випадкового лісу
Щоб навчити модель машинного навчання для передбачення оптимальних портфелів, потрібно створити тренувальну та тестову вибірки для оцінювання якості. Зробимо це так само, як у попередніх розділах: візьмемо масиви features і targets та розіб'ємо їх за заданим train_size. Зазвичай тренувальна частка становить близько 70–90% даних.
Далі навчаємо модель (у нашому випадку — випадковий ліс) на тренувальних даних і оцінюємо значення R\(^2\) на train і test за допомогою .score() з нашої моделі. У цьому завданні гіперпараметри вже задані, але зазвичай варто виконати пошук із ParameterGrid, як ми робили в попередніх розділах.
Ця вправа є частиною курсу
Machine Learning для фінансів у Python
Інструкції до вправи
- Встановіть
train_sizeяк 85% від повного набору тренувальних даних, використовуючи властивість.shapeоб'єктаfeatures. - Створіть тренувальні та тестові цільові значення з
targets, використовуючи індексацію Python. - Навчіть модель випадкового лісу на
train_featuresіtrain_targets.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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))