1. 학습
  2. /
  3. 강의
  4. /
  5. Pythonで挑むKaggleコンペティション

Connected

연습 문제

平均ターゲットエンコーディング

まずは、平均ターゲットエンコーディングを実装する関数を作成します。次の2つの手順を行う必要があることを思い出してください。

  1. 学習データで平均を計算し、それをテストデータに適用する
  2. 学習データをK分割し、各分割についてOut-of-Foldの平均を計算し、その分割に適用する

これらの手順はそれぞれ別の関数で実装します。test_mean_target_encoding() と train_mean_target_encoding() です。

最終的な関数 mean_target_encoding() は、引数として学習用とテスト用のDataFrame、エンコード対象のカテゴリ列名、ターゲット列名、そしてスムージング用のパラメータalphaを取ります。戻り値は2つで、学習用とテスト用DataFrameそれぞれの新しい特徴量です。

지침 1/3

undefined XP
    1
    2
    3
  • 過学習を避けるためにスムージングが必要です。したがって、train_statistics の計算において分母に \(\alpha\) パラメータを追加してください。
  • テストデータで新しいカテゴリを適切に扱う必要があります。fillna() メソッドにグローバル平均を引数として渡してください。