ラベルエンコーディング(Label Encoding)とは、カテゴリ変数の各カテゴリに整数値を割り当てる変換手法です。例えば{小、中、大}を{0, 1, 2}に変換します。
適用が適切な場面
順序関係のあるカテゴリ(小<中<大、低学歴<中学歴<高学歴など)には適していますが、順序のないカテゴリ(赤、青、緑など)に使うと、数値の大小関係がモデルに誤った情報を与える可能性があります。
| ひとことで言うと | カテゴリに0,1,2…と整数を割り当てるシンプルな変換方法。 |
|---|---|
| どこで使う | 順序のあるカテゴリ(S/M/L)、決定木系モデルへの入力。 |
| 注意点 | 順序のないカテゴリに使うと、線形モデルが誤った大小関係を学んでしまう。 |
決定木系モデルでの利用
決定木ベースのモデル(ランダムフォレスト、XGBoost等)では、分割条件が「値がN以下か否か」の形式であるため、ラベルエンコーディングでも適切に動作します。メモリ効率もワンホットエンコーディングより優れています。
1カテゴリを列挙S / M / L
▶
2整数を割り当て0 / 1 / 2
▶
31列のまま列が増えない
▶
4モデルに入力木系なら問題なし
※ 順序がないカテゴリを線形回帰に入れるときは、ワンホットを使ってください。