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

Thêm số 0

Nhiều hệ thống gợi ý sử dụng implicit ratings. Trong nhiều trường hợp, các bộ dữ liệu này không có số lần tương tác cho những mặt hàng mà người dùng chưa từng mua. Khi đó, bạn cần bổ sung các bản ghi và điền giá trị 0. DataFrame Z đã được cung cấp, chứa userId, productIdnum_purchases là số lần một người dùng đã mua một sản phẩm cụ thể.

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

  • Xem dataframe Z bằng phương thức .show().
  • Trích xuất các userIdproductId duy nhất từ Z bằng phương thức .distinct(). Lần lượt đặt tên kết quả là usersproducts.
  • Thực hiện .crossJoin() giữa hai dataframe usersproducts. Đặt tên kết quả là cj.
  • Thực hiện phép nối "left" giữa cj và dataframe ratings gốc Z trên các cột ["userId", "productId"]. Gọi phương thức .fillna(0) trên kết quả để điền các giá trị trống bằng 0. Đặt tên kết quả là Z_expanded.

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 data
Z.____()

# Extract distinct userIds and productIds
users = ____.select("____").____()
products = Z.____("productId").____()

# Cross join users and products
____ = users.____(products)

# Join cj and Z
____ = cj.join(Z, ["____", "____"], "left").____(0)

# View Z_expanded
____.show()
Chỉnh sửa và Chạy Mã