CommencerCommencez gratuitement

Ajouter des zéros

De nombreux moteurs de recommandation utilisent des notes implicites. Dans bien des cas, ces jeux de données n’incluent pas les décomptes de comportement pour les articles qu’un utilisateur n’a jamais achetés. Dans ces situations, vous devez les ajouter et inclure des zéros. Le dataframe Z vous est fourni. Il contient des userId, des productId et num_purchases, qui correspond au nombre de fois qu’un utilisateur a acheté un produit donné.

Cet exercice fait partie du cours

<cours>Créer des moteurs de recommandation avec PySpark</cours>
Voir le cours

Instructions de l’exercice

  • Examinez le dataframe Z avec la méthode .show().
  • Extrayez les userId et productId distincts de Z à l’aide de la méthode .distinct(). Nommez les résultats users et products respectivement.
  • Effectuez un .crossJoin() sur les dataframes users et products. Nommez le résultat cj.
  • Faites une jointure "left" de cj avec le dataframe d’évaluations original Z sur ["userId", "productId"]. Appelez ensuite la méthode .fillna(0) sur le résultat pour remplir les valeurs manquantes par des zéros. Nommez le résultat Z_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()
Modifier et exécuter le code