group kfoldの使い方
概要
- 特定のキーを与えて、そのキーに基づき、foldを切る際に便利
- 時系列で複数の試合のデータなどがあるときなど
- ランダムにsplitするとリークする
- 時系列で複数の試合のデータなどがあるときなど
- グループを示すキーを指定する必要がある
具体例
# 5個のグループに分割したい場合
groups = train["match_id"].apply(lambda x:x%5)
group_kfold = GroupKFold(n_splits=5)
for train_idx, test_index in group_kfold.split(df[train_features], df[label], groups):
pass