Validation
学習目標
- Describe validation process and its purpose
- Compare validation strategies
- Identify train/test split in a competition
- Identify and analyze validation problems
Data splitting strategies
バリデーションの種類
- holdout
- K-fold
- Leave-one-out
holdout
ngroups = 1
sklearn.model_selection.ShuffleSplit
データを下記に分ける
- 訓練データ
テストデータ
十分なデータがあり、異なる分割に対して、同様のスコア、最適なモデルのパラメータを取得する時に使う
K-fold
ngroups = k
sklearn.model_selection.Kfold
データを k 回、訓練データ、テストデータに分ける
そして、平均値を出す
- 十分なデータがあり、異なる分割に対して、スコア、最適なモデルのパラメータが異なる時に使う
Leave-one-out
ngroups = len(train)
sklearn.model_selection.LeaveOneOut
- K-Fold の K とサンプル数が一致する場合である
- データが少ない場合に使う
階層化
- シャッフルデータには、holdout、K-Fold を使う
- データが少ない場合、ランダムに分割する
- 偏りのあるデータに役立つ
- 他クラス分類に役立つ