ПочатиПочніть безкоштовно

Створіть тренувальні та тестові ознаки

Перш ніж навчати нашу лінійну модель, нам потрібно додати константу до ознак, щоб у моделі був вільний член (intercept).

Також потрібно створити тренувальні та тестові ознаки. Так ми зможемо навчити модель на тренувальному наборі даних і оцінити її якість на тестовому. Завжди перевіряйте якість на даних, яких модель не бачила, щоб упевнитися, що ми не переобучаємося, тобто не запам'ятовуємо шаблони з тренувальних даних занадто точно.

Для таких часових рядів зазвичай беруть найстаріші дані як тренувальну вибірку, а найновіші — як тестову. Це дозволяє оцінити роботу моделі на найсвіжіших даних і реалістичніше змоделювати прогнози на ще невідомих даних.

Ця вправа є частиною курсу

Machine Learning для фінансів у Python

Переглянути курс

Інструкції до вправи

  • Імпортуйте бібліотеку statsmodels.api з псевдонімом sm.
  • Додайте константу до змінної features, використавши функцію .add_constant() з пакета statsmodels.
  • Встановіть train_size як 85% від загальної кількості точок даних (кількість рядків), використовуючи властивість .shape[0] об'єкта features або targets.
  • Розбийте linear_features і targets на тренувальну та тестову вибірки за допомогою train_size і індексації в Python (наприклад, [start:stop]).

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Import the statsmodels.api library with the alias sm
___

# Add a constant to the features
linear_features = sm.____(features)

# Create a size for the training set that is 85% of the total number of samples
train_size = int(0.85 * ____)
train_features = linear_features[:train_size]
train_targets = targets[____]
test_features = linear_features[train_size:]
test_targets = targets[train_size:]
print(linear_features.shape, train_features.shape, test_features.shape)
Редагувати та запускати код