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

So sánh các phương pháp gợi ý

Trong khóa học này, bạn đã dự đoán cách một người dùng sẽ đánh giá các bộ phim họ chưa xem bằng nhiều phương pháp khác nhau (điểm trung bình cơ bản, KNN, matrix factorization). Ở bài tập cuối cùng này, bạn sẽ so sánh giữa điểm trung bình và matrix factorization bằng cách dùng mean_squared_error() để đo lường mức độ hiệu quả của chúng. Các dự đoán dựa trên trung bình đã được nạp vào avg_pred_ratings_df, trong khi các dự đoán tính toán đã được nạp vào calc_pred_ratings_df. Các giá trị ground truth đã được nạp vào act_ratings_df.

Cuối cùng, hàm mean_squared_error() đã được import từ sklearn.metrics để bạn sử dụng.

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

Xây dựng Recommendation Engine bằng Python

Xem khóa học

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

  • Trích xuất các hàng 0–20 và các cột 0–100 (phần bạn muốn so sánh) trong các DataFrame act_ratings_df, avg_pred_ratings_dfcalc_pred_ratings_df.
  • Tạo một mask từ DataFrame actual_values để chỉ nhắm tới các ô không trống.
  • Tính mean squared error giữa hai bộ dự đoán và các giá trị ground truth.

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.

# Extract the ground truth to compare your predictions against
actual_values = act_ratings_df.____[:20, :100].values
avg_values = avg_pred_ratings_df.____[:20, :100].values
predicted_values = calc_pred_ratings_df.____[:20, :100].values

# Create a mask of actual_values to only look at the non-missing values in the ground truth
mask = ~np.isnan(____)

# Print the performance of both predictions and compare
print(____(____[mask], avg_values[mask], squared=False))
print(____(____[mask], predicted_values[mask], squared=False))
Chỉnh sửa và Chạy Mã