Souhrnné statistiky MovieLens
Pojďme metodu groupBy() využít trochu víc.
Poté, co metodu .groupBy() na dataframe použiješ, můžeš nad výsledkem spouštět agregační funkce jako .sum(), .avg() nebo .min() – a výsledky budou seskupeny podle zvolené skupiny. Toto cvičení tě provede tím, jak to funguje. Funkce min a avg jsou za tebe již naimportovány z pyspark.sql.functions.
Toto cvičení je součástí kurzu
Tvorba doporučovacích systémů s PySparkem
Pokyny k cvičení
- Seskup data podle
movieIda pomocí metody.count()zjisti, kolik hodnocení každý film obdržel. Poté zavolej metodu.select()a vyber následující metriky:min("count")pro zjištění nejmenšího počtu hodnocení u jakéhokoli filmu v datasetu. Tento první příklad je již připraven za tebe.avg("count")pro zjištění průměrného počtu hodnocení na film
- Udělej totéž, ale tentokrát seskup data podle
userId, abys získal/a hodnotyminaavgpočtu hodnocení.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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: ")
____.____("____").____().____(____("____")).____()