最佳模型與其參數
現在我們已經建立了交叉驗證器 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____())