Mô hình tốt nhất và các tham số của mô hình
Giờ bạn đã xây dựng xong bộ xác thực chéo cv, chúng ta có thể yêu cầu Spark lấy dữ liệu, huấn luyện thuật toán ALS trên đó, và thử các tổ hợp giá trị siêu tham số từ param_grid để xác định bộ giá trị cho RMSE nhỏ nhất. Tiếc là thao tác này mất quá nhiều thời gian để chạy tại đây, nhưng để bạn tham khảo, cách thực hiện như sau:
# Fit cross validator lên tập 'train'
model = cv.fit(train)
# Trích xuất mô hình tốt nhất từ mô hình cv ở trên
best_model = model.bestModel
Đoạn mã này đã được chạy riêng, và best_model đã được xác định và lưu sẵn để bạn sử dụng. Hãy dùng các lệnh đã cho để trích xuất các tham số của mô hình.
Bài tập này là một phần của khóa học
Xây dựng Recommendation Engine với PySpark
Hướng dẫn bài tập
- In
type(best_model)để xác nhận rằng mô hình ALS được xây dựng từ các lựa chọn siêu tham số của chúng ta đã hoàn tất. Ở đây cần một câu lệnh in để có thể dùng với các câu lệnh in tiếp theo. - Trích xuất
ranktừbest_modelbằng cách gọi phương thức.getRank()trênbest_model. - Trích xuất
maxItertừbest_modelbằng cách gọi phương thức.getMaxIter()trênbest_model. - Trích xuất
regParamtừbest_modelbằng cách gọi phương thức.getRegParam()trênbest_model.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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____())