Öneriler mantıklı mı
Modelimizin ne kadar iyi performans gösterdiğini artık bildiğimize ve kullanıcılara alakalı öneriler sunacağına dair bir güven kazandığımıza göre, şimdi bir kullanıcıya yapılan önerilere gerçekten bakalım ve mantıklı olup olmadıklarını görelim.
Orijinal puanlama verileri original_ratings olarak sağlanıyor. Kullanıcı 60 ve kullanıcı 63'ün orijinal puanlamalarına bak ve bunları ALS'in onlar için önerdikleriyle karşılaştır. Sence öneriler, kullanıcıların orijinal tercihleriyle tutarlı mı?
Bu egzersiz, kursun bir parçasıdır
PySpark ile Öneri Motorları Oluşturma
Egzersiz talimatları
original_ratingsveri çerçevesinde.filter()kullanarakcol("userId")değerinin60olmasını sağla; böylece kullanıcı 60'ın orijinal puanlamalarına bakarsın. Çıktıyıratinge göre sıralamak için.sort()metodunu çağır ve en yüksek puanları önce görmek içinascendingargümanınıFalseolarak ayarla.- Kullanıcı 60'ın önerilerine bakmak için
recommendationsveri kümesi üzerinde.filter()ve.show()metodlarını kullan. ALS öneriler oluşturduğunda, bunlar userId'ye göre azalan sırada verilir; bu yüzden veri çerçevesini sıralamana gerek yok. - Aynısını kullanıcı 63 için de yap.
- Önerilen türler, her kullanıcının orijinal puanlamalarıyla belli bir tutarlılık gösteriyor mu?
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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()