始める無料で始める

カテゴリ変数のエンコーディング III: DictVectorizer

では、パイプラインに進む前に最後のひと工夫です。先ほど行った 2 段階の手順(LabelEncoder の後に OneHotEncoder)は、DictVectorizer を使うと簡略化できます。

DataFrame を辞書に変換してから DictVectorizer を使うと、ラベルエンコーディングとワンホットエンコーディングを一度に実行できます。

この演習では、この戦略を実際に試してみましょう!

この演習はコースの一部です

XGBoost で学ぶ極限の勾配ブースティング

コースを見る

演習の手順

  • sklearn.feature_extraction から DictVectorizer をインポートします。
  • df.to_dict() メソッドで "records" を引数に指定し、df_dict という辞書に変換します。
  • キーワード引数 sparse=FalseDictVectorizer オブジェクト dv をインスタンス化します。
  • .fit_transform() メソッドを使って、df_dictDictVectorizer を適用します。
  • 結果の先頭 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_)
コードを編集して実行