カテゴリ変数のエンコーディング III: DictVectorizer
では、パイプラインに進む前に最後のひと工夫です。先ほど行った 2 段階の手順(LabelEncoder の後に OneHotEncoder)は、DictVectorizer を使うと簡略化できます。
DataFrame を辞書に変換してから DictVectorizer を使うと、ラベルエンコーディングとワンホットエンコーディングを一度に実行できます。
この演習では、この戦略を実際に試してみましょう!
この演習はコースの一部です
XGBoost で学ぶ極限の勾配ブースティング
演習の手順
sklearn.feature_extractionからDictVectorizerをインポートします。dfを.to_dict()メソッドで"records"を引数に指定し、df_dictという辞書に変換します。- キーワード引数
sparse=FalseでDictVectorizerオブジェクトdvをインスタンス化します。 .fit_transform()メソッドを使って、df_dictにDictVectorizerを適用します。- 結果の先頭 5 行と語彙を出力するには 'Submit Answer' を押してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Import DictVectorizer
____
# Convert df into a dictionary: df_dict
df_dict = ____
# Create the DictVectorizer object: dv
dv = ____
# Apply dv on df: df_encoded
df_encoded = ____
# Print the resulting first five rows
print(df_encoded[:5,:])
# Print the vocabulary
print(dv.vocabulary_)