Estatísticas Resumidas do MovieLens
Vamos avançar um pouco mais com o método groupBy().
Depois de aplicar o método .groupBy() a um dataframe, você pode executar funções de agregação como .sum(), .avg(), .min() e obter os resultados agrupados. Este exercício vai mostrar como isso é feito. As funções min e avg já foram importadas de pyspark.sql.functions para você.
Este exercicio faz parte do curso
Construindo mecanismos de recomendação com PySpark
Instruções do exercicio
- Agrupe os dados por
movieIde use o método.count()para calcular quantas avaliações cada filme recebeu. Em seguida, chame o método.select()para selecionar as seguintes métricas:min("count")para obter o menor número de avaliações que qualquer filme no conjunto de dados possui. Este primeiro item é dado como exemplo.avg("count")para obter o número médio de avaliações por filme
- Faça a mesma coisa, mas desta vez agrupe por
userIdpara obter o númeromineavgde avaliações.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# 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: ")
____.____("____").____().____(____("____")).____()