有名なアルゴリズムの実装を読む シリーズの第二回。 今回はscikit-learnのStratifiedGroupKFoldの元のなったKaggle Notebookの実装を読んだ。といっても43行のとても短いコードである。 表記 n_fold: フォールド数 n_groups: ユニークなグループ数 n_labels: ユニークなラベル数 処理の概要 まず、StratifiedGroupKFoldは、以下の制約を満たすようなFold分割アルゴリズムである。 各foldに割り当てられたラベルの分布が全体のラベルの分布になるべく一致する 各foldに固有のグループが割り当てられるようにする。すな…