Kaggle Tutorial

特徴量エンジニアリング概観

テーブルデータ Kaggle のスコアを左右する特徴量エンジニアリングの全体像と、リーク防止の原則を学びます。

このトラックで学ぶこと#

このトラック(L4)では、テーブルデータコンペのスコアを大きく左右する 特徴量エンジニアリングと、それを正しく評価するための検証戦略を学びます。 モデルそのものより、ここでの工夫が順位を分けることが少なくありません。

特徴量エンジニアリングとは#

特徴量エンジニアリングは、生データからモデルが学習しやすい特徴量を作り出す工程です。

  • 変換:スケーリング・対数変換・ビニングなどで分布を整える
  • 生成:既存列の組み合わせ・集約・日時分解などで新しい列を作る
  • エンコード:カテゴリ変数を数値へ変換する
  • 選択:効かない・冗長な特徴を削る

「効く特徴」を見つける起点#

良い特徴は、ドメイン知識と EDA から生まれます。 「目的変数と関係がありそうか」「予測時点で実際に手に入るか」を常に問います。

# 例: 家族の人数という新特徴(Titanic)
df["FamilySize"] = df["SibSp"] + df["Parch"] + 1

最重要原則:リークを作らない#

注意

特徴量を作るときの最大の落とし穴がデータリークです。目的変数や未来の情報を使って 特徴を作ると、検証スコアは上がるのに本番で崩れます。統計量を使う特徴(ターゲット平均など)は、 必ず交差検証の fold 内で計算します。

進め方#

  1. ベースライン特徴で CV を測る
  2. 仮説を立てて特徴を 1 つずつ足す
  3. CV が改善したら採用、悪化したら戻す

ヒント

「思いついた特徴を全部入れる」のは逆効果になりがちです。CV で効果を確かめながら、 効く特徴だけを残しましょう。

理解度チェック#

Quizターゲット平均などの統計量を使う特徴量を安全に作るには?

次のステップ#

次は、カテゴリ変数を数値化する各種エンコーディングを学びます。