K-nearest neighbors को चरण-दर-चरण समझना
आपने अभी देखा कि K-nearest neighbors का उपयोग किसी आइटम को कोई व्यक्ति कैसे रेट कर सकता है, यह समान रुचियों वाले समूह की समझ के आधार पर अनुमान लगाने के लिए किया जा सकता है. इस अभ्यास में, आप इसी प्रक्रिया को खुद करके समझेंगे ताकि यह साफ हो कि यह कैसे काम करती है.
शुरू करने के लिए, क्योंकि आपने पहले कई बार similarity matrices जनरेट की हैं, वह स्टेप आपके लिए कर दिया गया है: user similarity matrix को DataFrame में लपेटकर user_similarities के रूप में लोड किया गया है.
इसमें हर user पंक्तियों और कॉलम्स में है, और जहाँ वे मिलते हैं वहाँ उनका corresponding similarity score है.
इस अभ्यास में, आप user_001 के similarity scores के साथ काम करेंगे, उनके सबसे नज़दीकी पड़ोसियों (nearest neighbors) को खोजेंगे, और उन पड़ोसियों ने किसी मूवी को जो रेटिंग दी है, उसके आधार पर अनुमान लगाएंगे कि अगर user_001 ने वह मूवी देखी होती तो वे क्या रेटिंग देते.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में रिकमेंडेशन इंजन बनाना
अभ्यास निर्देश
ordered_similaritiesमें टॉप 10 users निकालकर और उन्हेंnearest_neighborsके रूप में स्टोर करके,User_Aके 10 सबसे नज़दीकी पड़ोसियों के ID खोजिए.user_ratings_tableसेnearest_neighborsमें आए users की रेटिंग्स निकालकरneighbor_ratingsके रूप में स्टोर कीजिए.- मूवी
Apollo 13 (1995)के लिए इन users द्वारा दी गई औसत रेटिंग निकालिए, ताकि यह अनुमान लगाया जा सके कि अगरUser_Aने इसे देखा होता तो वे क्या रेटिंग देते.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Isolate the similarity scores for user_1 and sort
user_similarity_series = user_similarities.loc['user_001']
ordered_similarities = user_similarity_series.sort_values(ascending=False)
# Find the top 10 most similar users
nearest_neighbors = ordered_similarities[1:11].____
# Extract the ratings of the neighbors
neighbor_ratings = user_ratings_table.____(nearest_neighbors)
# Calculate the mean rating given by the users nearest neighbors
print(neighbor_ratings['Apollo 13 (1995)'].____())