始める無料で始める

フライト出発地のエンコーディング

フライトデータの org 列は、フライトの出発空港を示すカテゴリ変数です。

  • ORD — オヘア国際空港(シカゴ)
  • SFO — サンフランシスコ国際空港
  • JFK — ジョン・F・ケネディ国際空港(ニューヨーク)
  • LGA — ラガーディア空港(ニューヨーク)
  • SMF — サクラメント
  • SJC — サンノゼ
  • OGG — カフルイ(ハワイ)

これはあくまで空港の一部ですが、カテゴリ変数であるため、回帰モデルで使用する前にワンホットエンコーディング(One-Hot Encoding)を行う必要があります。

データは flights という変数に格納されています。すでに文字列インデクサーを使って、org の文字列に対応するインデックス値の列を作成済みです。

IPython Shell の隣にある スライド パネルでレッスンのスライドを確認すると、理解が深まるでしょう。

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

Machine Learning with PySpark

コースを見る

演習の手順

  • ワンホットエンコーダーのクラスをインポートします。
  • ワンホットエンコーダーのインスタンスを作成し、入力列を org_idx、出力列を org_dummy に設定します。
  • ワンホットエンコーダーをフライトデータに適用します。
  • カテゴリ値から二値エンコードされたダミー変数へのマッピングの概要を確認します。重複を除いた値のみを含め、org_idx で並べ替えます。

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

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

# Import the one hot encoder class
from pyspark.ml.____ import ____

# Create an instance of the one hot encoder
onehot = ____(inputCols=[____], outputCols=[____])

# Apply the one hot encoder to the flights data
onehot = onehot.____(____)
flights_onehot = onehot.____(____)

# Check the results
flights_onehot.____('org', 'org_idx', 'org_dummy').____().____('org_idx').show()
コードを編集して実行