こけこっこー

がんばる

pandasでワンホットエンコーディング

機械学習ではしばしばデータの解析を容易にするためにワンホットエンコーディングという手法を使います。

例えば「性別」というパラメータがあればその中には「男性」や「女性」が含まれますが、 この「性別」を分解して「男性」「女性」をそれぞれ一つのパラメータとしてしまい、値を0, 1で表現するのが ワンホットエンコーディングです。

これはpandasで以下のように簡単にできます。

print(df_train.Sex.value_counts())
sex_dummy = pd.get_dummies(df_train.Sex)
sex_dummy.head()

1行目のprint()は Sex にどんな値が含まれるかを確認するためにやっているだけなので、 処理としては不要です。 ただ、確認しておくことで manmale を一緒に扱う必要がある場合などに気づけます。

2行目がワンホットエンコーディングの処理です。 get_dummies() を使うだけでよしなにやってくれます。

3行目は結果の出力です。処理としては不要です。

出力

f:id:monisoi:20171013083436p:plain