GroupKFoldを使う理由
なんで書いたのか
上の内容を受けて、upuraさんblog記事に付随されていたリンク、iwiwiさんのスライドや動画を見てなぜ使うのかを調べた内容をまとめる iwiwiさんのスライドや動画での説明
https://www.youtube.com/watch?v=7389fOxgBz8&feature=youtu.be
11:00 - 12:00あたりの説明
ドライバーがtrain/testで異なるドライバーである、評価の方法としてtrain/validationも同様の評価が行われるべき
そうすると異なるドライバーがtrain/validationにいてほしいとなるはず
ドライバーの動作のラベリングをしたいとなった場合、ドライバーが誰であるという情報がなくても正しく予測されてほしいとなるはず
またドライバー毎の画像をつなげると動画になってしまう、これら画像はドライバーの動作を動画で撮影して時系列毎にラベリングしてある
したがって、同じドライバーの動作の推定は簡単にできてしまう
疑問点
Group-KFoldの分割方法説明画像を見るとFold毎、あるラベルがtrain_idx/test_idxどちらかにしか出現する場合がある。特定のラベルの評価がうまくいかなくなるのではという疑問。そのためにStratifiedKFoldを使うのではと思っている。 参考
https://youtu.be/7389fOxgBz8