始める無料で始める

推奨結果は納得できるか

モデルの性能を把握し、ユーザーにとって妥当な推奨が得られそうだと確認できました。ここでは実際に、特定のユーザーに対する推奨結果を見て、納得感があるかを確かめましょう。

元のレーティングデータは original_ratings として提供されています。ユーザー 60 とユーザー 63 の元のレーティングを確認し、ALS がそれぞれに推奨した結果と比較してください。あなたの見解では、推奨は元の嗜好と一貫していますか。

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

PySpark で作る Recommendation Engines

コースを見る

演習の手順

  • original_ratings データフレームで .filter() を使い、col("userId")60 に等しい行を抽出して、ユーザー 60 の元のレーティングを確認しましょう。.sort() メソッドで rating を基準に並べ替え、ascending 引数を False に設定して高いレーティングから表示します。
  • recommendations データセットに対して .filter().show() を使い、ユーザー 60 の推奨結果を確認しましょう。ALS が生成する推奨は userId ごとに降順で提供されるため、データフレームを並べ替える必要はありません。
  • ユーザー 63 についても同様に実行しましょう。
  • 推奨されているジャンルは、各ユーザーの元のレーティングとある程度一貫していますか。

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

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

# Look at user 60's ratings
print("User 60's Ratings:")
original_ratings.filter(col("____") == 60).____("rating", ____ = False).show()

# Look at the movies recommended to user 60
print("User 60s Recommendations:")
____.____(col("userId") == ____).show()

# Look at user 63's ratings
print("User 63's Ratings:")
original_ratings.filter(col("____") == ____).____("rating", ____ = False).show()

# Look at the movies recommended to user 63
print("User 63's Recommendations:")
____.____(col("userId") == ____).show()
コードを編集して実行