開始使用免費開始

建立測試/訓練切分並打造你的 ALS 模型

你已經在前一章練習過如何建立 ALS 模型。這裡我們會再做一次,不過會再多幾個步驟,把交叉驗證的完整流程搭建起來。

首先,先匯入所需的函式,並建立訓練與測試資料集,為後續的交叉驗證做準備。

本練習屬於課程

使用 PySpark 打造推薦引擎

檢視課程

練習說明

  • ml.evaluation 匯入 RegressionEvaluator,從 ml.recommendation 匯入 ALS 演算法,並從 ml.tuning 匯入 ParamGridBuilderCrossValidator
  • 使用 randomSplit 方法,對 ratings 資料做 0.80/0.20 的訓練/測試切分。將資料集命名為 traintest,並將隨機種子設為 1234
  • 建立 ALS 模型,告訴 Spark 在 ratings 資料框中哪些欄位分別對應 userColitemColratingCol。將 nonnegative 參數設為 TruecoldStartStrategy 設為 "drop",並將 implicitPrefs 參數設為 False,讓 Spark 知道這不是隱式偏好。將此模型命名為 als
  • 透過對 als 呼叫 type() 函式來確認模型已建立。輸出應該會顯示這是哪一種模型。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Import the required functions
from pyspark.ml.evaluation import ____
from pyspark.ml.recommendation import ____
from pyspark.ml.tuning import ____, ____

# Create test and train set
(train, test) = ratings.___([0.____, 0.____], seed = ____)

# Create ALS model
als = ALS(userCol="____", itemCol="____", ratingCol="____", nonnegative = ____, implicitPrefs = ____)

# Confirm that a model called "als" was created
type(____)
編輯並執行程式碼