Statistiques descriptives de MovieLens
Allons un peu plus loin avec la méthode groupBy().
Une fois que vous avez appliqué .groupBy() à un dataframe, vous pouvez exécuter des fonctions d’agrégation comme .sum(), .avg(), .min() et obtenir des résultats groupés. Cet exercice vous montre comment procéder. Les fonctions min et avg ont été importées depuis pyspark.sql.functions pour vous.
Cet exercice fait partie du cours
<cours>Créer des moteurs de recommandation avec PySpark</cours>Instructions de l’exercice
- Regroupez les données par
movieIdet utilisez la méthode.count()pour calculer combien d’évaluations chaque film a reçues. Ensuite, appelez la méthode.select()pour sélectionner les métriques suivantes :min("count")pour obtenir le plus petit nombre d’évaluations pour un film du jeu de données. Le premier vous est donné comme exemple.avg("count")pour obtenir le nombre moyen d’évaluations par film
- Reproduisez la même opération, mais cette fois regroupez par
userIdpour obtenir le nombreminetavgd’évaluations.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Min num ratings for movies
print("Movie with the fewest ratings: ")
ratings.groupBy("movieId").count().select(min("count")).show()
# Avg num ratings per movie
print("Avg num ratings per movie: ")
____.groupBy("____").count().____(avg("____")).____()
# Min num ratings for user
print("User with the fewest ratings: ")
ratings.____("userId").____().select(____("____")).____()
# Avg num ratings per users
print("Avg num ratings per user: ")
____.____("____").____().____(____("____")).____()