Trouver des films aimés de façon similaire
Tout comme vous avez calculé la similarité entre deux films, vous pouvez la calculer pour l'ensemble des utilisateurs afin de trouver le film le plus similaire à un autre selon la façon dont les utilisateurs les ont évalués.
La démarche est semblable à celle utilisée avec le filtrage fondé sur le contenu.
Vous allez d'abord calculer les scores de similarité entre tous les films, puis vous concentrer sur le film qui vous intéresse en isolant et en triant la colonne qui contient ses scores de similarité.
movie_ratings_centered a de nouveau été chargé : chaque film est une ligne et les cotes centrées sont enregistrées comme valeurs.
Cette activité fait partie du cours
Créer des moteurs de recommandation en Python
Instructions de l’exercice
- Calculez la matrice de similarité entre tous les films dans
movie_ratings_centeredet enregistrez-la dans similarities. - Encapsulez la matrice
similaritiesdans un DataFrame, avec les index demovie_ratings_centeredcomme colonnes et comme lignes.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
from sklearn.metrics.pairwise import cosine_similarity
# Generate the similarity matrix
similarities = ____(____)
# Wrap the similarities in a DataFrame
cosine_similarity_df = ____.____(____, index=____.____, columns=____.____)
# Find the similarity values for a specific movie
cosine_similarity_series = cosine_similarity_df.loc['Star Wars: Episode IV - A New Hope (1977)']
# Sort these values highest to lowest
ordered_similarities = cosine_similarity_series.sort_values(ascending=False)
print(ordered_similarities)