始める無料で始める

最良のフライト時間モデルを分解して理解する

先ほど、フライト時間を予測する線形回帰モデルの良いハイパーパラメータを探すために、CrossValidator を設定しました。

モデルのパイプラインは複数のステージ(StringIndexerOneHotEncoderVectorAssemblerLinearRegression 型のオブジェクト)で構成され、順番に実行されます。ステージはパイプラインオブジェクトの stages 属性として取得でき、リストで表され、リストに並んだ順に実行されます。

ここではパイプラインを詳しく確認し、ステージを取り出して、テストデータに対して予測を行います。

次のオブジェクトはすでに作成済みです。

  • cv — 学習済みの CrossValidatorModel オブジェクト
  • evaluatorRegressionEvaluator オブジェクト

フライトのデータはランダムに flights_trainflights_test に分割されています。

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

Machine Learning with PySpark

コースを見る

演習の手順

  • 最良モデルを取得します。
  • 最良モデル内のステージを確認します。
  • 線形回帰のステージを取り出し、そのパラメータを抽出します。
  • 最良モデルでテストデータに対する予測を生成し、RMSE を計算します。

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

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

# Get the best model from cross validation
best_model = cv.____

# Look at the stages in the best model
print(best_model.____)

# Get the parameters for the LinearRegression object in the best model
best_model.____.extractParamMap()

# Generate predictions on testing data using the best model then calculate RMSE
predictions = ____.____(____)
print("RMSE =", ____.____(____))
コードを編集して実行