Statystyki podsumowujące zbioru MovieLens
Poznajmy metodę groupBy() nieco bliżej.
Po zastosowaniu metody .groupBy() do ramki danych możesz na niej wykonywać funkcje agregujące, takie jak .sum(), .avg(), .min(), a wyniki będą pogrupowane. To ćwiczenie pokaże ci, jak to działa. Funkcje min i avg zostały już zaimportowane z pyspark.sql.functions.
To ćwiczenie jest częścią kursu
Budowanie silników rekomendacji w PySpark
Instrukcje do ćwiczenia
- Zgrupuj dane według
movieIdi użyj metody.count(), aby obliczyć, ile ocen otrzymał każdy film. Następnie wywołaj metodę.select(), by wybrać następujące metryki:min("count")– aby uzyskać najmniejszą liczbę ocen, jaką otrzymał jakikolwiek film w zbiorze danych. Ten krok jest już podany jako przykład.avg("count")– aby uzyskać średnią liczbę ocen na film
- Zrób to samo, ale tym razem grupuj według
userId, aby uzyskać wartościminiavgliczby ocen.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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: ")
____.____("____").____().____(____("____")).____()