pandasでワンホットエンコーディング
機械学習ではしばしばデータの解析を容易にするためにワンホットエンコーディングという手法を使います。
例えば「性別」というパラメータがあればその中には「男性」や「女性」が含まれますが、 この「性別」を分解して「男性」「女性」をそれぞれ一つのパラメータとしてしまい、値を0, 1で表現するのが ワンホットエンコーディングです。
これはpandasで以下のように簡単にできます。
print(df_train.Sex.value_counts()) sex_dummy = pd.get_dummies(df_train.Sex) sex_dummy.head()
1行目のprint()は Sex
にどんな値が含まれるかを確認するためにやっているだけなので、
処理としては不要です。
ただ、確認しておくことで man
や male
を一緒に扱う必要がある場合などに気づけます。
2行目がワンホットエンコーディングの処理です。
get_dummies()
を使うだけでよしなにやってくれます。
3行目は結果の出力です。処理としては不要です。
出力