Adicionar zeros
Muitos mecanismos de recomendação usam avaliações implícitas. Em muitos casos, esses conjuntos de dados não incluem contagens de comportamento para itens que um usuário nunca comprou. Nesses casos, você precisará adicioná-las e incluir zeros. O dataframe Z é fornecido para você. Ele contém userIds, productIds e num_purchases, que é o número de vezes que um usuário comprou um produto específico.
Este exercicio faz parte do curso
Construindo mecanismos de recomendação com PySpark
Instruções do exercicio
- Dê uma olhada no dataframe
Zusando o método.show(). - Extraia os
userIds eproductIds distintos deZusando o método.distinct(). Chame os resultados deuserseproducts, respectivamente. - Faça um
.crossJoin()nos dataframesuserseproducts. Chame o resultado decj. - Faça um join
"left"decjcom o dataframe original de avaliaçõesZem["userId", "productId"]. Chame o método.fillna(0)no resultado para preencher os espaços em branco com zeros. Chame o resultado deZ_expanded.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# 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()