特徴量とターゲットの作成
機械学習に使えるデータの準備がほぼ整いました。現在の価格変化(5d_close_pct)や各種指標(移動平均とRSI)から作成した特徴量と、将来の価格変化(5d_close_future_pct)から作成したターゲットが揃っています。次は、これらを機械学習アルゴリズムに渡せるよう、それぞれ別々のNumPy配列に分割しましょう。
また、指標の計算によってDataFrameの先頭部分に欠損値が生じています。欠損値の処理方法としては、後方補完、固定値での補完、または行の削除が考えられます。バックフィルや0埋めされたデータで機械学習アルゴリズムが混乱しないよう、行を削除するのが適切な選択です。pandasの .dropna() 関数を使って、欠損値を含む行を削除しましょう。
この演習はコースの一部です
Python による金融のための Machine Learning
演習の手順
- pandasの
.dropna()を使って、lng_dfから欠損値を含む行を削除してください。 - ターゲット(
'5d_close_future_pct'の値)を格納する変数を作成してください。 - 相関関係を確認できるよう、ターゲット(
5d_close_future_pct)と特徴量(既存のリストfeature_namesに含まれるもの)の 両方 を含むDataFrameを作成してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# 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)