全体の検証スコア
いよいよクロスバリデーションで実際のモデル性能を確認します。店舗ごとの需要予測モデルの精度はどうでしょうか?
あなたのタスクは、各フォールドごとの平均二乗誤差(MSE)を計算し、それらの結果を1つの数値にまとめることです。
簡単のため、各クロスバリデーション分割で Random Forest モデルを学習し、フォールドごとの MSE のリストを返す get_fold_mse() 関数が用意されています。get_fold_mse() は train と TimeSeriesSplit オブジェクトの2つの引数を受け取ります。
この演習はコースの一部です
Pythonで挑むKaggleコンペティション
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
from sklearn.model_selection import TimeSeriesSplit
import numpy as np
# Sort train data by date
train = train.sort_values('date')
# Initialize 3-fold time cross-validation
kf = ____(n_splits=____)
# Get MSE scores for each cross-validation split
mse_scores = get_fold_mse(train, kf)
print('Mean validation MSE: {:.5f}'.format(np.____(____)))