時間ベースの交差検証
最後に、scikit-learn の「時系列交差検証イテレータ」の動きを可視化してみましょう。このオブジェクトを使ってデータをもう一度だけ反復し、各イテレーションでモデルの学習に使われる訓練データを可視化します。
Linear regression の model オブジェクトのインスタンスが作業スペースに用意されています。さらに、配列 X と y(訓練データ)も利用できます。
この演習はコースの一部です
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()