開始使用免費開始

建立隱式模型

現在你已經指定所有超參數值,接下來讓 Spark 建立足夠的模型來測試每一種組合。為了做到這點,這裡提供了一個 for 迴圈。請依照下方說明自動建立這些 ALS 模型。在接下來的練習中,你會在測試資料集上執行這些模型,看看哪一個表現最佳。

ALS 演算法已經幫你匯入。你在上一個練習建立的那些列表(ranksmaxItersregParamsalphas)也已為你準備好。

本練習屬於課程

使用 PySpark 打造推薦引擎

檢視課程

練習說明

  • 這裡提供了一個名為 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))
編輯並執行程式碼