インプリシットモデルを構築する
すべてのハイパーパラメータ値を用意できたので、各組み合わせを検証できるだけのモデルを Spark に作らせましょう。そのための for ループを用意しています。以下の指示に従って、これらの ALS モデルを自動的に作成しましょう。続く演習では、これらのモデルをテストデータセットで実行し、どれが最も良い性能かを確認します。
ALS アルゴリズムはすでにインポート済みです。前の演習で作成したリスト(ranks、maxIters、regParams、alphas)も用意されています。
この演習はコースの一部です
PySpark で作る Recommendation Engines
演習の手順
- 空のリスト
model_listを用意しています。forループは与えられたハイパーパラメータの各組み合わせについてモデルを作成し、model_listに追加します。 forループを完成させ、各リストの中身を参照してください。ここで、rはranksリストの要素、miはmaxItersリストの要素、rpはregParamsリストの要素、aはalphasリストの要素を表します。- すべてのモデルが作成されたことを確認するため、
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))