EmpezarEmpieza gratis

Añadir ceros

Muchos motores de recomendación usan valoraciones implícitas. En muchos casos, estos conjuntos de datos no incluyen recuentos de comportamiento para artículos que un usuario nunca ha comprado. En esos casos, tendrás que añadirlos e incluir ceros. Se te proporciona el dataframe Z. Contiene userId, productId y num_purchases, que es el número de veces que un usuario ha comprado un producto concreto.

Este ejercicio forma parte del curso

Creación de motores de recomendación con PySpark

Ver curso

Instrucciones del ejercicio

  • Echa un vistazo al dataframe Z usando el método .show().
  • Extrae los userId y productId distintos de Z usando el método .distinct(). Llama a los resultados users y products, respectivamente.
  • Realiza un .crossJoin() entre los dataframes users y products. Llama al resultado cj.
  • Haz un join "left" de cj con el dataframe original de valoraciones Z sobre ["userId", "productId"]. Llama al método .fillna(0) sobre el resultado para rellenar los huecos con ceros. Llama al resultado Z_expanded.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# 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()
Editar y ejecutar código