カテゴリ変数の変換
sklearn のモデルは数値特徴量を入力として必要とするため、カテゴリ変数を数値にエンコードすることが重要です。最も一般的な手法は「ワンホットエンコーディング」ですが、実装は簡単な一方でメモリ消費が大きくなります。そこで本演習では、各カテゴリ列に対してハッシング手法を用い、カテゴリ値を数値に写像します。
pandas モジュールは作業環境で pd として利用可能で、サンプルの DataFrame は df として読み込まれています。
この演習はコースの一部です
PythonでMachine Learningを使ってCTRを予測する
演習の手順
- データ型でフィルタリングして、カテゴリ列を選択します。
- 各カテゴリ列にハッシュ関数を適用します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Get categorical columns
categorical_cols = df.____(
include = [____]).columns.tolist()
print("Categorical columns: ")
print(categorical_cols)
# Iterate over categorical columns and apply hash function
for col in ____:
df[col] = df[col].____(lambda x: ____(x))
# Print examples of new output
print(df.head(5))