Samenvattende statistieken van MovieLens
Laten we de methode groupBy() een stapje verder nemen.
Zodra je de methode .groupBy() op een dataframe hebt toegepast, kun je vervolgens aggregatiefuncties zoals .sum(), .avg(), .min() uitvoeren en de resultaten gegroepeerd krijgen. In deze oefening leer je hoe dat werkt. De functies min en avg zijn alvast voor je geïmporteerd uit pyspark.sql.functions.
Deze oefening maakt deel uit van de cursus
Aanbevelingssystemen bouwen met PySpark
Oefeninstructies
- Groepeer de data op
movieIden gebruik de methode.count()om te berekenen hoeveel ratings elke film heeft ontvangen. Roep daarna de methode.select()aan om de volgende statistieken te selecteren:min("count")om het kleinste aantal ratings te krijgen dat een film in de gegevensset heeft. Deze eerste staat als voorbeeld voor je klaar.avg("count")om het gemiddelde aantal ratings per film te krijgen
- Doe hetzelfde, maar groepeer dit keer op
userIdom hetmin- enavg-aantal ratings te krijgen.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# 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: ")
____.____("____").____().____(____("____")).____()