機械学習の基礎
機械学習のモデルを作る手順のうち、データリーク(評価に使うデータの情報が学習に紛れ込むこと)を起こしているものはどれか。
- A学習用データだけで標準化に使う平均と標準偏差を求め、同じ値で検証用データとテスト用データも標準化する
- Bすべてのデータで標準化に使う平均と標準偏差を求めて標準化してから、学習用データとテスト用データに分ける
- C時系列のデータを、ある日付より前を学習用、その日付以降をテスト用にして分ける
答えと解説を見る
正解:B. すべてのデータで標準化に使う平均と標準偏差を求めて標準化してから、学習用データとテスト用データに分ける
データリークは、本来は予測の時点で使えないはずの情報や、評価に使うデータの情報が、学習の過程に入り込むことです。全体のデータで平均や標準偏差を求めてから分けると、テスト用データの統計量が前処理を通じて学習に使われ、性能が実際より良く見積もられるおそれがあります。前処理のパラメータは学習用データだけで求め、その値を検証用やテスト用のデータに当てはめるのが正しい手順です。時系列のデータでは、ランダムに分けると未来の情報で過去を予測することになるので、時間の順に分けます。
- A. リークを防ぐ正しい手順です。前処理のパラメータは学習用データだけで求めます。
- B. 正しい。テスト用データの平均や標準偏差が、前処理を通じて学習に入り込みます。
- C. 未来の情報が学習に入らないようにする、時系列のデータの正しい分け方です。