始める無料で始める

インプリシットモデルを構築する

すべてのハイパーパラメータ値を用意できたので、各組み合わせを検証できるだけのモデルを Spark に作らせましょう。そのための for ループを用意しています。以下の指示に従って、これらの ALS モデルを自動的に作成しましょう。続く演習では、これらのモデルをテストデータセットで実行し、どれが最も良い性能かを確認します。

ALS アルゴリズムはすでにインポート済みです。前の演習で作成したリスト(ranksmaxItersregParamsalphas)も用意されています。

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

PySpark で作る Recommendation Engines

コースを見る

演習の手順

  • 空のリスト model_list を用意しています。for ループは与えられたハイパーパラメータの各組み合わせについてモデルを作成し、model_list に追加します。
  • for ループを完成させ、各リストの中身を参照してください。ここで、rranks リストの要素、mimaxIters リストの要素、rpregParams リストの要素、aalphas リストの要素を表します。
  • すべてのモデルが作成されたことを確認するため、len(model_list)model_list を出力してください。長さは上記の各ハイパーパラメータリストの長さの積と等しくなります。用意されている追加の検証も実行して確認できます。

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

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

# For loop will automatically create and store ALS models
for r in ____:
    for mi in ____:
        for rp in ____:
            for a in ____:
                model_list.append(ALS(userCol= "userId", itemCol= "songId", ratingCol= "num_plays", rank = r, maxIter = mi, regParam = rp, alpha = a, coldStartStrategy="drop", nonnegative = True, implicitPrefs = True))

# Print the model list, and the length of model_list
print (model_list, "Length of model_list: ", len(____))

# Validate
len(model_list) == (len(ranks)*len(maxIters)*len(regParams)*len(alphas))
コードを編集して実行