НачатьНачать бесплатно

Прогнозирование с помощью случайного леса

Чтобы обучить модель машинного обучения для предсказания оптимальных портфелей, необходимо разделить данные на обучающую и тестовую выборки для оценки качества модели. Мы сделаем это так же, как в предыдущих главах: возьмём массивы features и targets и разобьём их в соответствии с заданным значением train_size. Как правило, размер обучающей выборки составляет около 70–90% от всех данных.

Затем мы обучим модель (в данном случае — случайный лес) на обучающих данных и оценим значения R\(^2\) для обучающей и тестовой выборок с помощью метода .score(). Гиперпараметры уже заданы за вас, однако в реальных задачах стоит выполнять их подбор с помощью ParameterGrid, как мы делали в предыдущих главах.

Это упражнение является частью курса

Машинное обучение для финансов на 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))
Редактировать и запускать код