आइटम-आधारित और यूज़र-आधारित मॉडलों की तुलना
आपने अब KNN के दो अलग-अलग तरीकों को देखा है। पहला था item-item KNN, जिसमें आप उन \(k\) सबसे मिलते-जुलते मूवीज़ का औसत लेते हैं जिन्हें यूज़र ने रेट किया है, ताकि उस मूवी के लिए रेटिंग सुझाई जा सके जिसे उन्होंने अभी तक नहीं देखा। दूसरा तरीका था user-user KNN, जिसमें आप उन \(k\) सबसे मिलते-जुलते यूज़र्स द्वारा दी गई रेटिंग्स का औसत लेते हैं, ताकि अंदाज़ा लगाया जा सके कि target यूज़र उस मूवी को क्या रेटिंग देगा।
अब, आप दोनों की तुलना करेंगे और निकालेंगे कि user_002 Forrest Gump को क्या रेटिंग देगा।
user_rating_predictor मॉडल (जो यह देख कर प्रेडिक्ट करता है कि मिलते-जुलते यूज़र्स ने उस मूवी को क्या रेटिंग दी), और movie_rating_predictor (जो इस यूज़र द्वारा मिलती-जुलती मूवीज़ को दी गई रेटिंग्स के आधार पर प्रेडिक्ट करता है) का कोड आपके लिए शुरू कर दिया गया है।
KNeighborsRegressor आपके लिए इम्पोर्ट कर दिया गया है।
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में रिकमेंडेशन इंजन बनाना
अभ्यास निर्देश
user_knnनाम का एक user-user K-nearest neighbors मॉडल बनाएँ.user_knnमॉडल को fit करें, फिरtarget_user_xपर predict करें.- इसी तरह,
movie_knnनाम का एक item-item K-nearest neighbors मॉडल fit करें, फिरtarget_movie_xपर predict करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Instantiate the user KNN model
user_knn = ____()
# Fit the model and predict the target user
user_knn.____(other_users_x, other_users_y)
user_user_pred = user_knn.____(target_user_x)
print("The user-user model predicts {}".format(user_user_pred))
# Instantiate the user KNN model
movie_knn = KNeighborsRegressor()
# Fit the model on the movie data and predict
movie_knn.____(other_movies_x, other_movies_y)
item_item_pred = movie_knn.____(target_movie_x)
print("The item-item model predicts {}".format(item_item_pred))