Statistici sumare MovieLens
Să explorăm mai în detaliu metoda groupBy().
Odată ce ai aplicat metoda .groupBy() pe un dataframe, poți rula funcții de agregare precum .sum(), .avg(), .min() și să obții rezultatele grupate. Acest exercițiu te va ghida pas cu pas prin acest proces. Funcțiile min și avg au fost deja importate din pyspark.sql.functions.
Acest exercițiu face parte din cursul
Construiește motoare de recomandare cu PySpark
Instrucțiuni pentru exercițiu
- Grupează datele după
movieIdși folosește metoda.count()pentru a calcula câte evaluări a primit fiecare film. Apoi, apelează metoda.select()pentru a selecta următoarele metrici:min("count")– pentru a obține cel mai mic număr de evaluări primit de orice film din setul de date. Acest prim pas îți este oferit ca exemplu.avg("count")– pentru a obține numărul mediu de evaluări per film
- Repetă același lucru, dar de această dată grupează după
userIdpentru a obține numărulminșiavgde evaluări.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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: ")
____.____("____").____().____(____("____")).____()