Comparer les modèles item-based et user-based
Vous avez maintenant vu deux approches KNN différentes. La première est le KNN item-item, où vous utilisez la moyenne des \(k\) films les plus similaires qu’un utilisateur a notés pour suggérer une note pour un film qu’il n’a pas encore vu. L’autre approche est le KNN user-user, où vous utilisez la moyenne des notes attribuées au film par les \(k\) utilisateurs les plus similaires pour suggérer la note que l’utilisateur cible donnerait au film.
Vous allez maintenant comparer les deux et calculer la note que user_002 donnerait à Forrest Gump.
Le code des modèles user_rating_predictor (qui prédit à partir des notes données au film par des utilisateurs similaires) et movie_rating_predictor (qui prédit à partir des notes que cet utilisateur a données à des films similaires) a été préparé pour vous.
KNeighborsRegressor a été importé pour vous.
Cet exercice fait partie du cours
Créer des moteurs de recommandation en Python
Instructions
- Créez un modèle K-nearest neighbors user-user nommé
user_knn. - Ajustez le modèle
user_knn, puis prédisez surtarget_user_x. - De même, ajustez un modèle K-nearest neighbors item-item nommé
movie_knn, puis prédisez surtarget_movie_x.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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))