069_名義尺度の変数をダミー変数に変換できる

名義尺度とは、男女、血液型のように分類にのみ意味があり順序には意味がない尺度のことをいう。

pandasのget_dummiesメソッドを使うとカテゴリカルデータ (質的データ) をダミー変数に変換することができる
http://qiita.com/airtoxin/items/d66a22c5c7074e23be17#2-12

http://qiita.com/haru1977/items/1d67b664f8b5ec48d507
sexは男性が1、女性が2、ageは各年代に対応する値が1~3で入っているとします。

df1
id sex age
0 1001 1 3
1 1002 2 2
2 1003 1 3
3 1004 2 1
4 1005 2 1
df1 = df1.reset_index(drop=True) # 後からインデックスでマージするので、念のため初期化しておく

dummy_df = pd.get_dummies(df1[[‘sex’, ‘age’]], drop_first = True)
print dummy_df

sex_2   age_2   age_3

0 0.0         0.0         1.0
1 1.0         1.0         0.0
2 0.0         0.0         1.0
3 1.0         0.0         0.0
4 1.0         0.0         0.0

各変数についてダミー変数を設けたのち、drop_firstで最初の変数を除いています。
(残しておくと変数が従属関係になり都合が悪いので、ここでは除く処置を取っています)

たとえば、「学歴」(大学院、大学、高校、中学)の変数があったとします。これは、4つのカテゴリを持つ質的変数です。
この変数は量的変数ではないため、上記の重回帰分析などでは利用することができません。
しかし、「学歴」によって「年収」を予測説明する回帰式を得たいと考えたとした場合、質的変数は回帰分析には使用することができませんので、
「学歴」の使用をあきらめなければならなくなります。

このような場合に、ダミー変数を作成します。
ダミー変数は、「0」と「1」の2値を持つ変数であり、比率尺度の特性を持つため量的変数として扱うことができます。
たとえば、上記の「学歴」(大学院、大学、高校、中学)の質的変数をダミー変数とする場合は、以下のようにします。

ところで、この例の場合、「中学」を意味するダミー変数がありませんが、
これは参照カテゴリとよばれ解釈をする際の基準になります。
「大学院」=0、「大学」=0、「高校」=0、といったように3つのダミー変数すべてが0の場合、
必然的に「中学」を意味することから、最後のカテゴリのダミー変数は不要となるのです。
※コメント:最後のカテゴリのダミー変数をいれると、予測時に誤りを起こす可能性があるため処理必須

http://c4s.blog72.fc2.com/blog-entry-89.html