Створення ознак і цілей
У нас вже майже готові ознаки й цілі для машинного навчання — маємо ознаки з поточних змін цін (5d_close_pct) та індикаторів (ковзні середні й RSI), а також створили цілі — майбутні зміни ціни (5d_close_future_pct). Тепер потрібно розбити це на окремі масиви numpy, щоб передати їх до алгоритмів машинного навчання.
Через обчислення індикаторів на початку датафрейма з'являються пропущені значення. Ми могли б заповнити їх зсувом назад, сталим значенням або видалити рядки. Видалення рядків — гарний вибір, щоб алгоритми машинного навчання не плуталися через штучно заповнені або нульові дані. У pandas є функція .dropna(), за допомогою якої ми видалимо всі рядки з пропущеними значеннями.
Ця вправа є частиною курсу
Machine Learning для фінансів у Python
Інструкції до вправи
- Видаліть пропущені значення з
lng_dfза допомогою.dropna()з pandas. - Створіть змінну, що містить наші цілі — значення
'5d_close_future_pct'. - Створіть DataFrame, який містить і цілі (
5d_close_future_pct), і ознаки (містяться в наявному спискуfeature_names), щоб ми могли перевірити кореляції.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Drop all na values
lng_df = lng_df.____
# Create features and targets
# use feature_names for features; '5d_close_future_pct' for targets
features = lng_df[feature_names]
targets = lng_df[____]
# Create DataFrame from target column and feature columns
feature_and_target_cols = ['5d_close_future_pct'] + ____
feat_targ_df = lng_df[feature_and_target_cols]
# Calculate correlation matrix
corr = feat_targ_df.corr()
print(corr)