Porovnání modelů item-based a user-based
Teď už znáš dva různé přístupy KNN. Prvním byl item-item KNN, kde se průměr \(k\) nejpodobnějších filmů, které uživatel hodnotil, používá k odhadnutí hodnocení filmu, který ještě neviděl. Druhým přístupem byl user-user KNN, kde se průměr hodnocení \(k\) nejpodobnějších uživatelů pro daný film používá k odhadnutí hodnocení cílového uživatele.
Teď oba přístupy porovnáš a zjistíš, jaké hodnocení by user_002 dal/a filmu Forrest Gump.
Kód pro model user_rating_predictor (který predikuje na základě toho, co podobní uživatelé filmu dali) a model movie_rating_predictor (který predikuje na základě hodnocení, která tento uživatel dal podobným filmům) je pro tebe připravený.
KNeighborsRegressor je už naimportovaný.
Toto cvičení je součástí kurzu
Tvorba doporučovacích systémů v Pythonu
Pokyny k cvičení
- Vytvoř model K-nearest neighbors user-user s názvem
user_knn. - Natrénuj model
user_knna pak proveď predikci natarget_user_x. - Stejným způsobem natrénuj model K-nearest neighbors item-item s názvem
movie_knna proveď predikci natarget_movie_x.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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))