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, productId và num_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
Hướng dẫn bài tập
- Xem dataframe
Zbằng phương thức.show(). - Trích xuất các
userIdvàproductIdduy nhất từZbằng phương thức.distinct(). Lần lượt đặt tên kết quả làusersvàproducts. - Thực hiện
.crossJoin()giữa hai dataframeusersvàproducts. Đặt tên kết quả làcj. - Thực hiện phép nối
"left"giữacjvà dataframe ratings gốcZtrê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()