CommencezCommencez gratuitement

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

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 un joint "left" de cj avec le dataframe d'évaluations original Z sur ["userId", "productId"]. Appliquez la méthode .fillna(0) au 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