Получение предсказаний и первичная оценка
Теперь, когда модель случайного леса (rfr) обучена, воспользуемся ею для получения предсказаний на тестовой выборке. Это позволит оценить качество модели: справляется ли она так же хорошо или лучше, чем простая покупка индекса SPY?
Мы применим стандартный метод sklearn .predict(features), затем умножим ежемесячную доходность на предсказания нашего портфеля. Результаты суммируются с помощью np.sum(), поскольку для каждого месяца будет по три строки. После этого мы построим графики ежемесячной доходности по предсказаниям и по SPY и сравним их между собой.
Это упражнение является частью курса
Машинное обучение для финансов на Python
Инструкции к упражнению
- Используйте метод
.predict()модели случайного лесаrfr, чтобы получить предсказания дляtrain_featuresиtest_features. - Умножьте тестовую часть
returns_monthlyнаtest_predictions, чтобы вычислить доходность для предсказаний на тестовой выборке. - Постройте график
returns_monthlyдля'SPY'на тестовой выборке (все данные начиная сtrain_sizeдо конца).
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Get predictions from model on train and test
train_predictions = rfr.predict(train_features)
test_predictions = ____
# Calculate and plot returns from our RF predictions and the SPY returns
test_returns = np.sum(returns_monthly.iloc[train_size:] * ____, axis=1)
plt.plot(test_returns, label='algo')
plt.plot(returns_monthly['SPY'].iloc[____], label='SPY')
plt.legend()
plt.show()