ds data-preparation preprocessing
まず結論
エンコーディングとは、カテゴリデータを数値に変換する前処理です。
DS検定では、機械学習アルゴリズムは文字データを扱えないため数値化が必要という理解が問われます。
直感的な説明
例えば次のようなデータがあるとします。
顧客ID 購入商品
1 りんご 2 みかん 3 りんご
人間はこれを見て意味を理解できますが、 機械学習モデルは 文字の意味を理解できません。
そのため、次のように数値に変換します。
りんご → 1 みかん → 2
このように、カテゴリ(分類)データを数値に変換する処理を エンコーディング(encoding)と呼びます。
定義・仕組み
エンコーディングとは、カテゴリ変数を機械学習で扱える数値データに変換する処理です。
機械学習アルゴリズムは基本的に
数値
ベクトル
しか扱えません。
そのため、
性別
商品カテゴリ
地域
のような 文字データ(カテゴリ変数) は 数値に変換する必要があります。
代表的なエンコーディングには次の2つがあります。
ラベルエンコーディング(Label Encoding)
カテゴリを整数に変換する方法です。
例
商品
りんご みかん ぶどう
↓
商品
1 2 3
ワンホットエンコーディング(One-Hot Encoding)
カテゴリごとに列を作る方法です。
商品 りんご みかん ぶどう
りんご 1 0 0 みかん 0 1 0
どんな場面で使う?
① 機械学習モデルを作るとき
分類モデルや回帰モデルでは、 カテゴリ変数をそのまま使うことができません。
そのため
商品カテゴリ
地域
職業
などを エンコーディングして数値化します。
② データ前処理(preprocessing)
エンコーディングは
欠損値処理
正規化
スケーリング
などと並ぶ 代表的な前処理です。
DS検定では
「カテゴリ変数の処理」
として出題されることが多いです。
よくある誤解・混同
① マッピング処理との混同
用語 意味
マッピング 値を別の値に置き換える エンコーディング カテゴリを数値化する
つまり
エンコーディングはマッピング処理の一種です。
② ラベルエンコーディングの誤解
例えば
りんご → 1 みかん → 2 ぶどう → 3
とすると
数値の大小関係が意味を持つように見えてしまう
という問題があります。
そのため
順序がないカテゴリでは ワンホットエンコーディングを使うことが多い
という点はDS検定でも重要です。
③ 数値データとの混同
選択肢では次のような誤りが出やすいです。
❌ エンコーディング = 数値データを変換する処理
⭕ エンコーディング = カテゴリデータを数値化する処理
まとめ(試験直前用)
エンコーディング = カテゴリ変数を数値化する処理
機械学習では文字データを扱えないため必要
代表的手法
ラベルエンコーディング
ワンホットエンコーディング
順序のないカテゴリにはワンホットがよく使われる
DS検定では
「カテゴリ変数を数値に変換する処理」
と書かれていたら エンコーディングと判断できるようにしておきましょう。
対応スキル項目(データサイエンス力シート)
データ理解・前処理
データ加工
★ データの前処理(欠損値処理、正規化、カテゴリ変数の処理など)を理解している
🔗 関連記事
- アノテーションとは?(AI学習データを作る重要な作業)【DS検定】
- カテゴリ変数とは?数値データとの違いを整理【DS検定】
- データ拡張(Data Augmentation)とは?画像AIの学習データを増やす方法【DS検定】
- データ抽出と集計の違いとは?(SQL・BIで混同しやすい操作)【DS検定】
- データトランスフォーメーションとは?(非構造化データの変換)【DS検定】