始める無料で始める

テキストから新しい特徴量を抽出する

ミネソタの住宅では、ほとんどの人が車を所有し、屋外駐車の車に積もった雪を払うのが大変なため、ガレージは重要な要素です。ガレージの種類も大切で、寒さにさらされずに車へ行けるかどうかがポイントになります。ここでは、ガレージが家に「接続されているか」を表す特徴量 has_attached_garage を作成してみましょう。

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

PySparkで学ぶ特徴量エンジニアリング

コースを見る

演習の手順

  • 必要な関数 when()pyspark.sql.functions からインポートします。
  • df['GARAGEDESCRIPTION'] 内で文字列パターン Attached Garage を探す条件を like() で作成します。フィールド内のどこにあってもマッチするようにワイルドカード % を使います。
  • 同様に、df['GARAGEDESCRIPTION'] 内で文字列パターン Detached Garage を探す条件を like() で作成し、どこでもマッチするようにワイルドカード % を使います。
  • 新しい列 has_attached_garage を作成し、when() を使って「接続型」なら 1、「独立型」なら 0 を割り当て、どちらでもない場合は otherwise()None(null)を割り当てます。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Import needed functions
____ ____ ____ ____

# Create boolean conditions for string matches
has_attached_garage = df[____].____(____)
has_detached_garage = df[____].____(____)

# Conditional value assignment 
df = df.withColumn(____, (____(____, 1)
                                          .____(____, 0)
                                          .____(____)))

# Inspect results
df[['GARAGEDESCRIPTION', 'has_attached_garage']].show(truncate=100)
コードを編集して実行