始める無料で始める

MovieLens の要約統計量

groupBy() メソッドをもう少し活用してみましょう。

データフレームに .groupBy() を適用すると、.sum().avg().min() などの集計関数を続けて実行でき、結果はグループごとに集計されます。この演習では、その手順を確認します。minavg 関数は pyspark.sql.functions からインポート済みです。

この演習はコースの一部です

PySpark で作る Recommendation Engines

コースを見る

演習の手順

  • movieId でデータをグループ化し、.count() メソッドで各映画が受け取った評価件数を計算しましょう。続いて .select() メソッドを呼び出し、次の指標を選択します。
    • min("count") データセット内のどの映画に対しても最小の評価件数を取得します。最初の例としてこちらは用意されています。
    • avg("count") 映画ごとの平均評価件数を取得します。
  • 同様に、今度は userId でグループ化して、評価件数の minavg を求めましょう。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# 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: ")
____.____("____").____().____(____("____")).____()
コードを編集して実行