How to Win a Data Science Competition (Week2-3 part2)
Kaggle 機械学習
Published: 2019-05-28

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 を使う
  • データが少ない場合、ランダムに分割する
  • 偏りのあるデータに役立つ
  • 他クラス分類に役立つ

参考