Додайте нулі
Багато рекомендаторів використовують неявні оцінки. Часто в таких наборах даних немає лічильників поведінки для товарів, які користувач ніколи не купував. У таких випадках потрібно додати відсутні комбінації та проставити нулі. Для вас підготовлено датафрейм Z. Він містить userId, productId і num_purchases, тобто кількість разів, коли користувач придбав певний товар.
Ця вправа є частиною курсу
Створення рушіїв рекомендацій у PySpark
Інструкції до вправи
- Перегляньте датафрейм
Zза допомогою методу.show(). - Витягніть унікальні
userIdтаproductIdзZза допомогою методу.distinct(). Назвіть результати відповідноusersіproducts. - Виконайте
.crossJoin()датафреймівusersіproducts. Назвіть результатcj. - Здійсніть
"left"-зʼєднанняcjз початковим датафреймом оцінокZза ключами["userId", "productId"]. Викличте метод.fillna(0)для результату, щоб заповнити пропуски нулями. Назвіть результатZ_expanded.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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()