Comparer les modèles fondés sur les éléments et sur les utilisateurs
Vous avez maintenant vu deux approches KNN différentes. La première est le KNN élément-élément, 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 utilisateur-utilisateur, où vous utilisez la moyenne des notes que les \(k\) utilisateurs les plus similaires ont attribuées au film pour suggérer la note que l'utilisateur cible donnerait au film.
Vous allez maintenant comparer les deux et calculer quelle note user_002 donnerait à Forrest Gump.
Le code du modèle user_rating_predictor (qui prédit selon ce que des utilisateurs similaires ont attribué au film) et du modèle movie_rating_predictor (qui prédit à partir des notes que cet utilisateur a données à des films similaires) a été amorcé pour vous.
KNeighborsRegressor a été importé pour vous.
Cette activité fait partie du cours
Créer des moteurs de recommandation en Python
Instructions de l’exercice
- Créez un modèle K plus proches voisins utilisateur-utilisateur nommé
user_knn. - Ajustez le modèle
user_knn, puis prédisez surtarget_user_x. - De la même façon, ajustez un modèle K plus proches voisins élément-élément nommé
movie_knn, puis prédisez surtarget_movie_x.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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))