Hello there, ('ω')ノ
データ分析の現場では、ある変数の「形式」を数字からカテゴリへ/カテゴリから数字へと変える必要がよくあります。 このような作業は 「再符号化(さいふごうか)」 と呼ばれます。
たとえば:
- 「性別:1 → 男性、0 → 女性」
- 「アンケート:とても満足 → 5、満足 → 4 …」
- 「都道府県コード:13 → 東京都、27 → 大阪府」
こうした変換を適切に行うことで、分析しやすくなり、ツールとの相性もよくなります。
✅ 再符号化とは?
カテゴリデータと数値データの間を変換する処理のことです。 次の2パターンがあります:
方向 | 説明 | 例 |
---|---|---|
数値 → カテゴリ | コードを人間にわかるラベルに変換 | 1 → 男性、0 → 女性 |
カテゴリ → 数値 | 計算や分析用に数値化 | 満足 → 4点、不満 → 1点 |
🔁 よくある再符号化の実例
元データ | 再符号化の目的 | 変換後 |
---|---|---|
性別(0/1) | ラベル表示用 | 男性/女性 |
アンケート評価 | 数値化して集計 | 「非常に満足」→ 5、「不満」→ 1 |
都道府県コード | 地図やレポート用 | 13 → 東京都 |
製品カテゴリ | 機械学習用の数値入力 | A → 1、B → 2、C → 3 |
📘 Excelでの再符号化方法
🔸 IF関数を使った例
=IF(A2=1, "男性", "女性")
🔸 VLOOKUP関数で対応表から変換
コード | 地域名 |
---|---|
13 | 東京都 |
27 | 大阪府 |
=VLOOKUP(A2, 対応表範囲, 2, FALSE)
▶ 多数の変換パターンがあるときは対応表を使う方が便利!
🧠 SQLでの再符号化方法
🔸 CASE文を使った再符号化
SELECT CASE gender WHEN 1 THEN '男性' WHEN 0 THEN '女性' ELSE '不明' END AS gender_label FROM users;
🔸 JOINでマスタテーブルを参照する方法
SELECT u.name, c.pref_name FROM users u JOIN prefectures c ON u.pref_code = c.pref_code;
▶ コードと名称を別テーブルで管理しておけば、柔軟に変更・管理可能です。
🤖 機械学習で使う「エンコーディング」の基礎
データを数値で扱う必要があるため、カテゴリ変数を数値に変換する作業が欠かせません。
方法 | 説明 | 例 |
---|---|---|
ラベルエンコーディング | 順番に番号を割り振る | A → 0、B → 1、C → 2 |
ワンホットエンコーディング | 複数のフラグ列を作る | A → (1,0,0)、B → (0,1,0) |
▶ 分析目的やツールに応じて使い分けましょう!
⚠️ 再符号化の注意点
注意点 | 内容 |
---|---|
意味のない順番をつけない | 「男=1」「女=2」に意味はない → 順序に注意 |
ラベルの可読性を保つ | 最終レポートやダッシュボードでは“人が読める形”に変換すること |
変換ルールの記録を残す | データ辞書や対応表は再利用・共有できるようにしておく |
✅ まとめ:データを“人にも機械にもわかりやすく”!
ポイント | 内容 |
---|---|
再符号化とは | カテゴリと数値の間を行き来する処理 |
ツール別に方法あり | ExcelはIF/VLOOKUP、SQLはCASE/JOINが定番 |
分析や可視化に不可欠 | 数値で計算し、ラベルで報告するために使い分ける |
管理の工夫も大事 | 対応表・辞書を作って一元管理しよう! |
Best regards, (^^ゞ