Bắt đầu ngayBắt đầu miễn phí

Đánh giá mô hình bằng MSE

Sau khi tạo các điểm đánh giá dự đoán từ dữ liệu kiểm tra bằng mô hình ALS, ở phần cuối của bài tập này, bạn sẽ chuẩn bị dữ liệu để tính Mean Square Error (MSE) của mô hình. MSE là giá trị trung bình của (original rating – predicted rating)**2 cho tất cả người dùng và cho biết mức độ khớp tuyệt đối của mô hình với dữ liệu.

Để làm điều này, trước tiên bạn sẽ tổ chức cả hai RDD ratings_finalpredictions về dạng bộ ((user, product), rating). Trong cả hai RDD, ánh xạ là:

0: user
1: product
2: rating

Sau đó bạn sẽ join các RDD đã biến đổi và cuối cùng áp dụng hàm bình phương sai khác cùng với mean() để lấy MSE.

Lưu ý, bạn có sẵn SparkContext sc trong không gian làm việc. Ngoài ra, RDD ratings_finalpredictions cũng đã có sẵn trong không gian làm việc của bạn.

Bài tập này là một phần của khóa học

Nền tảng Big Data với PySpark

Xem khóa học

Hướng dẫn bài tập

  • Sắp xếp RDD ratings thành dạng ((user, product), rating).
  • Sắp xếp RDD predictions thành dạng ((user, product), rating).
  • Join RDD dự đoán với RDD đánh giá gốc.
  • Đánh giá mô hình bằng MSE giữa điểm gốc và điểm dự đoán rồi in ra.

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.

# Prepare ratings data
rates = ratings_final.____(lambda r: ((r[0], r[1]), ____))

# Prepare predictions data
preds = predictions.____(lambda r: ((____, ____), ____))

# Join the ratings data with predictions data
rates_and_preds = rates.____(preds)

# Calculate and print MSE
MSE = rates_and_preds.____(lambda r: (r[1][0] - r[1]____)**2).mean()
print("Mean Squared Error of the model for the test data = {:.2f}".format(____))
Chỉnh sửa và Chạy Mã