開始使用免費開始

最佳模型與其參數

現在我們已經建立了交叉驗證器 cv,可以請 Spark 讀入資料、以 ALS 演算法進行擬合,並嘗試 param_grid 中不同的超參數組合,以找出能讓 RMSE 最小的數值。可惜這在此處執行會花太久時間;不過供你參考,實作方式如下:

# 將交叉驗證器擬合到 'train' 資料集
model = cv.fit(train)

# 從上面的 cv 模型取出最佳模型
best_model = model.bestModel

這段程式碼已在外部先行執行,best_model 也已經為你找出並儲存好。請使用提供的指令來擷取該模型的參數。

本練習屬於課程

使用 PySpark 打造推薦引擎

檢視課程

練習說明

  • 印出 type(best_model),確認由我們的超參數組合所建出的 ALS 模型已完成。這裡需要一個印出敘述,才能搭配後續的印出結果。
  • 透過在 best_model 上呼叫 .getRank() 方法,擷取 rank
  • 透過在 best_model 上呼叫 .getMaxIter() 方法,擷取 maxIter
  • 透過在 best_model 上呼叫 .getRegParam() 方法,擷取 regParam

動手互動練習

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

# 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____())
編輯並執行程式碼