始める無料で始める

時間ベースの交差検証

最後に、scikit-learn の「時系列交差検証イテレータ」の動きを可視化してみましょう。このオブジェクトを使ってデータをもう一度だけ反復し、各イテレーションでモデルの学習に使われる訓練データを可視化します。

Linear regression の model オブジェクトのインスタンスが作業スペースに用意されています。さらに、配列 Xy(訓練データ)も利用できます。

この演習はコースの一部です

Pythonで学ぶMachine Learningによる時系列データ解析

コースを見る

演習の手順

  • sklearn.model_selection から TimeSeriesSplit をインポートします。
  • 分割数を 10 とする時系列交差検証イテレータをインスタンス化します。
  • CV の分割を反復処理します。各イテレーションで、そのイテレーションでモデルの学習に用いられる入力データの値を可視化します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Import TimeSeriesSplit
____

# Create time-series cross-validation object
cv = ____

# Iterate through CV splits
fig, ax = plt.subplots()
for ii, (tr, tt) in enumerate(cv.split(X, y)):
    # Plot the training data on each iteration, to see the behavior of the CV
    ax.plot(tr, ii + y[tr])

ax.set(title='Training data on each CV iteration', ylabel='CV iteration')
plt.show()
コードを編集して実行