[STATUS: ONLINE] 当サイトは要約付きのエンジニア向けFeedです。

TechDistill.dev

[DISCLAIMER] 当サイトの要約は正確性を保証しません。気になる記事は必ず原文を確認してください。
cd ..

【要約】15-⑤[AI][Kaggle]Kaggle実践1 特徴量エンジニアリング(数値特徴量の非線形変換とビン化) [Zenn_Python] | Summary by TechDistill

> Source: Zenn_Python
Execute Primary Source

// Problem

KaggleのTitanic生存者予測において、モデルの予測精度を向上させるための特徴量設計が課題であった。具体的には、以下の技術的な問題に直面した。


  • 運賃(Fare)の分布が極端なロングテールであり、学習を不安定にする要因となっていた。
  • 年齢(Age)と生存率の関係が非線形であり、単純な数値入力ではモデルが捉えきれなかった。
  • 変換後の変数と元の変数を併用した際、多重共線性によりモデルが不安定になるリスクがあった。

// Approach

筆者は、数値特徴量の分布と非線形性を改善するため、以下の手法を適用した。


  • Fareの対数変換: log1p(Fare) を適用し、右に偏った分布を正規分布に近づけた。
  • Ageのビン化: 年齢を5つのカテゴリ(乳幼児、子供、若者、中年、高齢者)に分割し、ダミー変数化した。
  • 検証パターンの設計: 元の変数と変換後の変数の組み合わせを4パターン(A〜D)用意し、5-Fold CVで比較評価した。

// Result

検証の結果、決定木系モデルにおいて、元の数値を排除し変換後の特徴量のみを用いたパターンCが最も高い成果を出した。


  • Random Forest: CV 0.8249 $\rightarrow$ 0.8339。
  • XGBoost: CV 0.8226 $\rightarrow$ 0.8283。
  • LightGBM: CV 0.8485 $\rightarrow$ 0.8496。
  • Kaggle Public Score: 0.78947 $\rightarrow$ 0.79665へ向上した。

Senior Engineer Insight

> 特徴量エンジニアリングはモデルの性質に依存する。線形モデルでは情報の解像度低下が致命的だが、決定木系では過学習抑制に寄与する。実戦では、単なる変換だけでなく、多重共線性を考慮した変数選択のプロセスが不可欠である。モデルの特性を見極めた上で、適切な変換を選択すべきだ。

[ RELATED_KERNELS_DETECTED ]

cd ..

> System.About()

TechDistillは、膨大な技術記事から情報の真髄(Kernel)のみを抽出・提示します。