(第1回)MLS復習1日目:前処理とEDAは、だいたいここで転ぶ

モデルのアルゴリズム以前に、「データをどう扱うか」で点数が削られるのがMLS試験の恐ろしさです。自分が間違えたポイントを中心に、基礎体力を整理します。


探索的データ分析(EDA):手法と目的を一致させる

MLSでは「次に何をすべきか?」を問われます。目的と図法をセットで脳内にインデックスします。

  • クラス分布の偏り(不均衡) クロス集計、カウントプロット
  • 外れ値の有無 ボックスプロット(箱ひげ図)、散布図
  • 変数の相関関係 ヒートマップ(相関行列)
  • テキストの傾向把握 ワードクラウド

「高いカーディナリティ」:One-Hotの罠

ユーザーIDや郵便番号など、ユニーク値が多すぎる変数(高カーディナリティ)にOne-Hotエンコーディングを使うと、次元が爆発して計算資源を食い尽くし、モデルが不安定になります。

  • 試験対策のキーワード:
    • Feature Hashing(ハッシュトリック): 次元を固定しつつ、高カーディナリティをさばく。
    • Target Encoding: 目的変数の平均値で置換する(ただし、リークに注意)。
    • SageMaker Data Wrangler: これらをノンコードで処理できるAWSの推奨ツール。

欠損値(NaN)処理:時系列と統計の使い分け

「とりあえず埋める」ではなく、データの性質を見極めるのがMLS流です。

  • 時系列データ: 前の値を踏襲する Forward Fill や線形補間。
  • 数値データ(外れ値あり): 平均値よりも 中央値(Median) が安定します。
  • カテゴリデータ: 「Unknown」という新しいカテゴリとして扱うのも一つの解です。

クラス不均衡:SMOTEのその先へ

少数クラスを合成して増やす SMOTE は強力ですが、試験では以下のセットで問われます。

  1. 手法: オーバーサンプリング(SMOTE) or アンダーサンプリング。
  2. 評価: Accuracy(正解率)を信じない。F1スコアやAUC を重視する。
  3. 注意点: SMOTEは「訓練データ」のみに適用すること。テストデータまで合成すると正当な評価ができません。

インフラ:GPUと分散トレーニングの勘所

巨大なデータや複雑なモデル(RNN/CNN)を扱う際、学習時間の短縮がテーマになります。

  • インスタンス選択: P系(P3/P4)やG系(G4dn/G5)のGPUインスタンスを選択。
  • 分散学習:instance_count を2以上に設定。
    • データ並列: データを分割して各ノードで学習(主流)。
    • モデル並列: 巨大すぎて1つのGPUに乗らないモデルを分割。
  • 注意: 学習ジョブは一時的なクラスターなので、通常のEC2のようなAuto Scaling Groupで管理するのではなく、SageMakerが「指定された台数」をプロビジョニングする形式です。

1日目のまとめ

「NaNだから埋める」「偏っているからSMOTE」といった条件反射ではなく、「ビジネス要件(見落とし厳禁か、誤報厳禁か)」「データの分布」を天秤にかける視点が、合格への近道だと痛感しています。

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です