推奨結果は納得できるか
モデルの性能を把握し、ユーザーにとって妥当な推奨が得られそうだと確認できました。ここでは実際に、特定のユーザーに対する推奨結果を見て、納得感があるかを確かめましょう。
元のレーティングデータは 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()