Dummy Coding

Dummy Coding タブでは、カテゴリ変数(名義尺度・順序尺度)を数値のダミー変数(0/1)に変換します。回帰分析や GLM にカテゴリ変数を組み込むための前処理です。

基本的な使い方

Dummy Coding を開く

メニューバーから Data > Dummy Coding... を選択すると、新しい Dummy Coding タブが開きます。

変換を設定する

  1. Dataset ドロップダウンで変換対象のデータセットを選択
  2. 列の設定テーブルで各列の ScaleAction を設定
  3. Encoding Preview セクションで変換内容を確認
  4. Create Dataset をクリック
  5. データセット名を入力して OK をクリック

このページで使用するデータ

この説明では、5人のアンケートデータ(survey.csv)を使用します。blood_typeeducation がカテゴリ変数です。

nameageblood_typeeducation
Alice28Acollege
Bob35Bgraduate
Carol42Ocollege
Dave31Ahigh_school
Eve26ABgraduate

列の設定

Scale(測定尺度)

尺度説明ダミー変数への変換
nominal名義尺度可能
ordinal順序尺度可能
interval間隔尺度不可(数値としてそのまま使用)
ratio比率尺度不可(数値としてそのまま使用)

Scale はドロップダウンで変更できます。

Action(アクション)

アクション説明
Not included出力データセットから除外する
Include as-is列をそのまま出力に含める
Dummy codeダミー変数に変換する(元の列は除外)
Dummy code (keep original)ダミー変数に変換し、元の列も保持する

Dummy code / Dummy code (keep original) はカテゴリ変数(nominal / ordinal)にのみ選択可能です。boolean 型の列は対象外です。

変換の仕組み

k 個のカテゴリから k-1 個のダミー変数を生成し、1つのカテゴリを参照カテゴリ(reference category)として省略します1

  1. カテゴリのユニーク値を抽出します
  2. アルファベット順にソートします
  3. 最初のカテゴリを参照カテゴリとして除外します
  4. 残りの k-1 個のカテゴリに対してダミー変数を生成します
  5. 該当するカテゴリの行は1、それ以外は0になります

変換例

blood_type 列(ユニーク値: A, AB, B, O)を変換する場合:

  • 参照カテゴリ: A(アルファベット順で最初)
  • 生成されるダミー変数: blood_type_ABblood_type_Bblood_type_O
blood_typeblood_type_ABblood_type_Bblood_type_O
A000
B010
O001
A000
AB100

参照カテゴリ A の行はすべてのダミー変数が0になります。

出力データセット

上のサンプルデータで name を Not included、age を Include as-is、blood_typeeducation を Dummy code に設定した場合の出力です。

ageblood_type_ABblood_type_Bblood_type_Oeducation_graduateeducation_high_school
2800000
3501010
4200100
3100001
2610010

blood_type(4カテゴリ)から3つ、education(3カテゴリ: college, graduate, high_school、参照: college)から2つのダミー変数が生成されています。列名は {元の列名}_{カテゴリ名} の形式で、データ型は int64(0または1)です。行数は元のデータセットと同じです。元のデータセットは変更されず、新しい派生データセットとして保存されます。

注意事項

参照カテゴリはアルファベット順で最初のカテゴリに固定され、手動では選択できません。欠損値はダミー変数でもそのまま欠損値として保持され、ユニーク値のカウントには含まれません。ユニーク値が1つしかない列はダミー変数に変換できません。boolean 型の列は既に 0/1 に相当するため、Include as-is を選択してそのまま使用できます。

Next steps

See also

脚注

  1. k 個すべてのダミー変数を作ると切片項と線形従属になるため、1つ省略して k-1 個にします。