最良モデルとそのハイパーパラメータ
これでクロスバリデータ cv を作成できたので、Spark にデータを渡し、ALS アルゴリズムを当てはめ、param_grid のハイパーパラメータの組み合わせを試して、RMSE が最小となる値を特定させます。残念ながら、ここでは完了までに時間がかかりすぎますが、参考までに手順は次のとおりです。
# 'train' データセットにクロスバリデータを当てはめる
model = cv.fit(train)
# 上で作成した cv モデルから最良モデルを取り出す
best_model = model.bestModel
このコードは別途実行されており、best_model は特定されて保存済みです。与えられたコマンドを使って、モデルのパラメータを取り出しましょう。
この演習はコースの一部です
PySpark で作る Recommendation Engines
演習の手順
type(best_model)を出力して、ハイパーパラメータの候補から作成された ALS モデルが完成していることを確認しましょう。後続の出力と整合させるため、ここでは print 文が必要です。best_modelのrankを、best_modelに対して.getRank()メソッドを呼び出して取得しましょう。best_modelのmaxIterを、best_modelに対して.getMaxIter()メソッドを呼び出して取得しましょう。best_modelのregParamを、best_modelに対して.getRegParam()メソッドを呼び出して取得しましょう。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Print best_model
print(____)
# Complete the code below to extract the ALS model parameters
print("**Best Model**")
# Print "Rank"
print(" Rank:", best_model.get____())
# Print "MaxIter"
print(" MaxIter:", best_model.get____())
# Print "RegParam"
print(" RegParam:", best_model.get____())