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

Phân rã ma trận không âm

Một ma trận có thể có hai phép phân rã gần đúng như nhau, trong đó một phép phân rã có tất cả giá trị dương, còn phép kia có một số giá trị âm.

Ma trận M đã được phân rã hai lần bằng hai cách khác nhau. Hãy xem từng cặp ma trận nhân tố LU, và WH để thấy sự khác biệt. Sau đó nhân chúng lên để thấy rằng chúng tạo ra tích về cơ bản là giống nhau.

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

Xem khóa học

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

  • Dùng print() để xem các ma trận LU. Lưu ý rằng một số giá trị trong LU là số âm.
  • Dùng print() để xem các ma trận WH. Lưu ý rằng tất cả giá trị trong hai ma trận này đều là số dương.
  • Các ma trận LU, cũng như WH, đã được nhân với nhau để tạo ra lần lượt các ma trận LUWH. Dùng getRMSE(product_matrix, original_matrix) để xem LU gần với M đến mức nào so với WH gần với M. Chúng có tương tự nhau không?

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.

# View the L, U, W, and H matrices.
print("Matrices L and U:") 
print(____)
print(____)

print("Matrices W and H:")
print(____)
print(____)

# Calculate RMSE between LU and M
print("RMSE of LU: ", getRMSE(____, ____))

# Calculate RMSE between WH and M
print("RMSE of WH: ", getRMSE(____, ____))
Chỉnh sửa và Chạy Mã