Open IMOKURI opened 2 years ago
↑ だと、わかい fold のデータ量が少なくて、精度が低いので、データは以下のようにもっとたくさん使うようにしてみる。
↑ この fold で学習して、最終的にはすべてのデータで学習した 1つのモデルをサブミットに含めるのはありかもしれない
https://www.kaggle.com/c/ubiquant-market-prediction/discussion/303916#1668816
CPCV(Combinatorial Purged Cross-Validation)
https://zenn.dev/ymd/articles/fd08fb46bc868c
validation に 2block 使うことで、 oof の結果を 複数得ることができる、その結果でCVを評価することで、より、ロバストなモデルが作れる。
一方で、すべての investment_id を使っているので、未知の investment_id に対して弱い可能性がありそう。 要検討
validation データの直前、直後の学習データを使わないようにするのが、よさそう。
↑ の fold 分割に対して、 investment_id の group kfold を追加したもの
↑ この fold で学習して、最終的にはすべてのデータで学習した 1つのモデルをサブミットに含めるのはありかもしれない
kaggle.com/c/ubiquant-market-prediction/discussion/303916#1668816
validation のデータバリエーションが少なくて、だめ。
Overview
TimeSeriesSplit と GroupKFold のハイブリッド
https://github.com/IMOKURI/ubiquant-market-prediction/blob/01c78b6cb9453aaa169c0d37de2be41c6e93cd63/src/make_fold.py#L73-L82
これらのモデルをアンサンブルする際は、weight をかけるのが良さそう。 例えば、
[0.0625, 0.0625, 0.125, 0.25, 0.5] for 5 fold
https://www.kaggle.com/c/ubiquant-market-prediction/discussion/303916#1669144