Ajouter des zéros
Beaucoup de moteurs de recommandation utilisent des évaluations implicites. Dans bien des cas, ces jeux de données n'incluent pas le nombre de comportements pour les articles qu'un utilisateur n'a jamais achetés. Dans ces situations, vous devrez les ajouter et y inclure des zéros. Le dataframe Z vous est fourni. Il contient les userId, les productId et num_purchases, soit le nombre de fois qu'un utilisateur a acheté un produit donné.
Cette activité fait partie du cours
Créer des moteurs de recommandation avec PySpark
Instructions de l’exercice
- Examinez le dataframe
Zavec la méthode.show(). - Extrayez les
userIdetproductIddistincts deZà l'aide de la méthode.distinct(). Nommez les résultatsusersetproducts, respectivement. - Effectuez un
.crossJoin()sur les dataframesusersetproducts. Nommez le résultatcj. - Faites un joint
"left"decjavec le dataframe d'évaluations originalZsur["userId", "productId"]. Appliquez la méthode.fillna(0)au résultat pour remplir les valeurs manquantes par des zéros. Nommez le résultatZ_expanded.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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()