1. 学ぶ
  2. /
  3. コース
  4. /
  5. Machine Learning with PySpark

Connected

演習

フライト時間モデル・パイプラインのクロスバリデーション

先ほど作成したクロスバリデーション付きモデルは、km のみを使って duration を予測するシンプルなものでした。

フライト時間のもう一つの重要な予測変数は出発空港です。混雑した空港では離陸までに時間がかかる傾向があります。予測変数を追加するとモデルが良くなるか見てみましょう!

この演習では、モデルに org フィールドを追加します。ただし、org はカテゴリ変数なので、そのままでは使えません。まずインデックス化し、その後ワンホットエンコードして、km と一緒にアセンブルしてから回帰モデルを構築します。これらの処理はパイプラインでまとめます。

次のオブジェクトはすでに用意されています:

  • params — 空のパラメーターグリッド
  • evaluator — 回帰用の評価器
  • regression — labelCol='duration' を指定した LinearRegression オブジェクト

StringIndexer、OneHotEncoder、VectorAssembler、CrossValidator クラスはすでにインポートされています。

指示

100 XP
  • 文字列インデクサを作成します。入力と出力のフィールドをそれぞれ org、org_idx に指定します。
  • ワンホットエンコーダを作成します。出力フィールド名は org_dummy にします。
  • km と org_dummy を 1 つのフィールド features にアセンブルします。
  • 次の処理を順に行うパイプラインを作成し、これを使ってクロスバリデータを作成します:文字列インデクサ、ワンホットエンコーダ、アセンブラ、線形回帰。