Создание признаков и целевых переменных
Мы почти подготовили признаки и целевые переменные для машинного обучения: у нас есть признаки на основе текущих изменений цены (5d_close_pct) и индикаторы (скользящие средние и RSI), а также созданные целевые переменные — будущие изменения цены (5d_close_future_pct). Теперь нужно разбить всё это на отдельные массивы numpy, чтобы передать их в алгоритмы машинного обучения.
Из-за особенностей расчёта индикаторов в начале DataFrame появляются пропущенные значения. Их можно заполнить обратным заполнением, константой или просто удалить строки с пропусками. Удаление — наиболее предпочтительный вариант: оно не вносит искусственных данных, которые могут сбить алгоритмы машинного обучения с толку. Для этого в pandas есть функция .dropna(), которую мы и используем.
Это упражнение является частью курса
Машинное обучение для финансов на 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)