क्या सिफारिशें मायने रखती हैं
अब जब हमें समझ आ गया है कि हमारा मॉडल कितना अच्छा चला और हमें भरोसा है कि यह यूज़र्स के लिए प्रासंगिक सिफारिशें देगा, तो आइए किसी एक यूज़र के लिए बनी सिफारिशें वास्तव में देखकर जाँचें कि वे समझ में आती हैं या नहीं.
मूल ratings डेटा यहाँ original_ratings के रूप में दिया गया है. यूज़र 60 और यूज़र 63 की मूल ratings देखें, और उनकी तुलना करें कि ALS ने उनके लिए क्या recommend किया. आपके हिसाब से, क्या ये सिफारिशें उनकी मूल पसंद-नापसंद के अनुरूप हैं?
यह अभ्यास पाठ्यक्रम का हिस्सा है
PySpark के साथ Recommendation Engines बनाना
अभ्यास निर्देश
original_ratingsdataframe पर.filter()का उपयोग करें ताकिcol("userId")60के बराबर हो और यूज़र 60 की मूल ratings देखें. आउटपुट कोratingके आधार पर sort करने के लिए.sort()मेथड कॉल करें औरascendingआर्ग्युमेंट कोFalseसेट करें ताकि सबसे ऊँची ratings पहले दिखें.- यूज़र 60 की ratings देखने के लिए
recommendationsडेटासेट पर.filter()और.show()मेथड्स का उपयोग करें. ध्यान दें कि जब ALS सिफारिशें बनाता है, तो वेuserIdके अनुसार अवरोही क्रम में दी जाती हैं, इसलिए dataframe को sort करने की आवश्यकता नहीं है. - यही काम यूज़र 63 के लिए भी कीजिए.
- क्या सिफारिशों के genres हर यूज़र की मूल ratings के साथ कुछ हद तक मेल खाते हैं?
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# 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()