ワンホットエンコーディング

One-Hot Encoding

ワンホットエンコーディング(One-Hot Encoding)とは、カテゴリ変数を機械学習モデルが扱える数値形式に変換する手法です。各カテゴリに対応するバイナリ(0/1)の列を作成し、該当するカテゴリのみ1、他はすべて0とします。

変換例

色={赤、青、緑}という3カテゴリの変数は、赤=[1,0,0]、青=[0,1,0]、緑=[0,0,1]の3つの列に変換されます。これにより、カテゴリ間に順序関係がないことをモデルに正しく伝えることができます。

注意点

カテゴリ数が多い変数(都道府県名など)に適用すると次元数が爆発する「次元の呪い」が発生します。この場合、ターゲットエンコーディングやエンティティエンベディングなどの代替手法が有効です。

ダミー変数トラップ

線形回帰ではN個のカテゴリからN-1個のダミー変数を作成する必要があります(多重共線性の回避)。決定木系やニューラルネットワークではこの制約はありません。