Open1

One-Hotエンコーディング(One-Hot Encoding)

marchanmarchan

One-Hotエンコーディング(One-Hot Encoding)

概要

  • 意味:カテゴリ(ラベル)を「0/1」のベクトルに変換する方法
  • 目的:文字やカテゴリを学習可能な数値特徴にする(順序を持たない名義尺度に適切)

基本の考え方

  • モデルは文字を直接扱えないため、各カテゴリごとに1列を用意
  • 当該カテゴリ=1、その他=0 とする
  • 複数選択式(チェックボックス型)は、選ばれた複数列が1になる=Multi-Hot として表現

カテゴリ One-Hot表現
[1, 0, 0]
[0, 1, 0]
[0, 0, 1]

→ 単一選択:該当列のみ1。複数選択:該当する列が複数1(Multi-Hot)。

特徴

  • 順序のないカテゴリ(色・性別・地域名など)に適する
  • 各カテゴリを独立に扱う(距離・類似度の意味は持たない)
  • 線形モデル・ツリー系・NNで広く利用可能

デメリット

  • カテゴリが多いと高次元で疎になりやすい
  • 未知カテゴリ(学習時に存在しなかった値)に弱い
  • 係数推定で完全多重共線性(ダミートラップ)が起きうる

対応策

  • 高基数なら Hashing / Target Encoding / Embedding を検討
  • 線形モデルでは1列落とす(drop_first)か正則化で共線性対策
  • 未知値・欠損は 〈Other〉/〈Missing〉 などの専用カテゴリ列を用意
  • 複数選択の設問は各選択肢を列にしてMulti-Hot(アンケート問題の想定)

試験での理解ポイント

  • G検定:名義尺度の数値化、次元爆発とその回避策
  • AWS MLS:SageMaker前処理でのワンホット/Multi-Hot、drop_first・未知カテゴリの扱い
  • 覚え方:One=1個だけ1、複数選択はMulti-Hotで複数が1

まとめ

One-Hotは「該当だけ1」の名義カテゴリ変換。複数選択はMulti-Hotで列を並べて1を立てる。