НачатьНачать бесплатно

Добавление нулей

Многие рекомендательные системы используют неявные оценки. В таких наборах данных часто отсутствуют данные о поведении пользователя для товаров, которые он никогда не приобретал. В подобных случаях необходимо добавить эти записи и заполнить их нулями. Датафрейм Z уже подготовлен для вас. Он содержит столбцы userId, productId и num_purchases — количество раз, которое пользователь приобрёл конкретный товар.

Это упражнение является частью курса

Построение рекомендательных систем с помощью PySpark

Посмотреть курс

Инструкции к упражнению

  • Изучите датафрейм Z с помощью метода .show().
  • Извлеките уникальные значения userId и productId из Z с помощью метода .distinct(). Сохраните результаты в переменные users и products соответственно.
  • Выполните .crossJoin() на датафреймах users и products. Сохраните результат в переменную cj.
  • Соедините cj с исходным датафреймом оценок Z по столбцам ["userId", "productId"] с помощью объединения "left". Вызовите метод .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()
Редактировать и запускать код